1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class SQLServerStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 T__0=1, BLOCK_COMMENT=2, INLINE_COMMENT=3, AND_=4, OR_=5, NOT_=6, TILDE_=7,
21 VERTICAL_BAR_=8, AMPERSAND_=9, SIGNED_LEFT_SHIFT_=10, SIGNED_RIGHT_SHIFT_=11,
22 CARET_=12, MOD_=13, COLON_=14, PLUS_=15, MINUS_=16, ASTERISK_=17, SLASH_=18,
23 BACKSLASH_=19, DOT_=20, DOT_ASTERISK_=21, SAFE_EQ_=22, DEQ_=23, EQ_=24,
24 NEQ_=25, GT_=26, GTE_=27, LT_=28, LTE_=29, POUND_=30, LP_=31, RP_=32,
25 LBE_=33, RBE_=34, LBT_=35, RBT_=36, COMMA_=37, DQ_=38, SQ_=39, BQ_=40,
26 QUESTION_=41, AT_=42, SEMI_=43, DOLLAR_=44, WS=45, SELECT=46, INSERT=47,
27 UPDATE=48, DELETE=49, CREATE=50, ALTER=51, DROP=52, TRUNCATE=53, SCHEMA=54,
28 GRANT=55, REVOKE=56, ADD=57, SET=58, TABLE=59, COLUMN=60, COLUMNS=61,
29 INDEX=62, CONSTRAINT=63, PRIMARY=64, UNIQUE=65, FOREIGN=66, KEY=67, POSITION=68,
30 PRECISION=69, FUNCTION=70, TRIGGER=71, PROCEDURE=72, PROC=73, VIEW=74,
31 INTO=75, VALUES=76, WITH=77, UNION=78, DISTINCT=79, CASE=80, WHEN=81,
32 CAST=82, TRIM=83, SUBSTRING=84, FROM=85, NATURAL=86, JOIN=87, FULL=88,
33 INNER=89, OUTER=90, LEFT=91, RIGHT=92, CROSS=93, USING=94, WHERE=95, AS=96,
34 ON=97, OFF=98, IF=99, ELSE=100, THEN=101, FOR=102, TO=103, AND=104, OR=105,
35 IS=106, NOT=107, NULL=108, TRUE=109, FALSE=110, EXISTS=111, BETWEEN=112,
36 IN=113, ALL=114, ANY=115, LIKE=116, ORDER=117, GROUP=118, BY=119, ASC=120,
37 DESC=121, HAVING=122, LIMIT=123, OFFSET=124, BEGIN=125, COMMIT=126, ROLLBACK=127,
38 SAVEPOINT=128, BOOLEAN=129, DOUBLE=130, CHAR=131, CHARACTER=132, ARRAY=133,
39 INTERVAL=134, DATE=135, TIME=136, TIMESTAMP=137, LOCALTIME=138, LOCALTIMESTAMP=139,
40 YEAR=140, QUARTER=141, MONTH=142, WEEK=143, DAY=144, HOUR=145, MINUTE=146,
41 SECOND=147, MICROSECOND=148, MAX=149, MIN=150, SUM=151, COUNT=152, AVG=153,
42 DEFAULT=154, CURRENT=155, ENABLE=156, DISABLE=157, CALL=158, INSTANCE=159,
43 PRESERVE=160, DO=161, DEFINER=162, CURRENT_USER=163, SQL=164, CASCADED=165,
44 LOCAL=166, CLOSE=167, OPEN=168, NEXT=169, NAME=170, COLLATION=171, NAMES=172,
45 INTEGER=173, REAL=174, DECIMAL=175, TYPE=176, BIT=177, SMALLINT=178, INT=179,
46 TINYINT=180, NUMERIC=181, FLOAT=182, BIGINT=183, TEXT=184, VARCHAR=185,
47 PERCENT=186, TIES=187, EXCEPT=188, INTERSECT=189, USE=190, MERGE=191,
48 LOOP=192, EXPAND=193, VIEWS=194, FAST=195, FORCE=196, KEEP=197, PLAN=198,
49 OPTIMIZE=199, SIMPLE=200, FORCED=201, HINT=202, READ_ONLY=203, DATABASE=204,
50 DECLARE=205, CURSOR=206, OF=207, RETURNS=208, DATEPART=209, RETURN=210,
51 READONLY=211, AT=212, PASSWORD=213, WITHOUT=214, APPLY=215, KEEPIDENTITY=216,
52 KEEPDEFAULTS=217, HOLDLOCK=218, IGNORE_CONSTRAINTS=219, IGNORE_TRIGGERS=220,
53 NOLOCK=221, NOWAIT=222, PAGLOCK=223, READCOMMITTED=224, READCOMMITTEDLOCK=225,
54 READPAST=226, REPEATABLEREAD=227, ROWLOCK=228, TABLOCK=229, TABLOCKX=230,
55 UPDLOCK=231, XLOCK=232, JSON_OBJECT=233, JSON_ARRAY=234, FIRST_VALUE=235,
56 LAST_VALUE=236, APPROX_PERCENTILE_CONT=237, APPROX_PERCENTILE_DISC=238,
57 WITHIN=239, OPENDATASOURCE=240, FOR_GENERATOR=241, BINARY=242, ESCAPE=243,
58 HIDDEN_=244, MOD=245, PARTITION=246, PARTITIONS=247, TOP=248, ROW=249,
59 ROWS=250, UNKNOWN=251, XOR=252, ALWAYS=253, CASCADE=254, CHECK=255, GENERATED=256,
60 NO=257, OPTION=258, PRIVILEGES=259, REFERENCES=260, USER=261, ROLE=262,
61 START=263, TRANSACTION=264, ACTION=265, ALGORITHM=266, AUTO=267, BLOCKERS=268,
62 CLUSTERED=269, NONCLUSTERED=270, COLLATE=271, COLUMNSTORE=272, CONTENT=273,
63 CONVERT=274, YEARS=275, MONTHS=276, WEEKS=277, DAYS=278, MINUTES=279,
64 DENY=280, DETERMINISTIC=281, DISTRIBUTION=282, DOCUMENT=283, DURABILITY=284,
65 ENCRYPTED=285, END=286, FILESTREAM=287, FILETABLE=288, FILLFACTOR=289,
66 FOLLOWING=290, HASH=291, HEAP=292, IDENTITY=293, INBOUND=294, OUTBOUND=295,
67 UNBOUNDED=296, INFINITE=297, LOGIN=298, MASKED=299, MAXDOP=300, MOVE=301,
68 NOCHECK=302, NONE=303, OBJECT=304, ONLINE=305, OVER=306, PAGE=307, PAUSED=308,
69 PERIOD=309, PERSISTED=310, PRECEDING=311, RANDOMIZED=312, RANGE=313, REBUILD=314,
70 REPLICATE=315, REPLICATION=316, RESUMABLE=317, ROWGUIDCOL=318, SAVE=319,
71 SELF=320, SPARSE=321, SWITCH=322, TRAN=323, TRANCOUNT=324, ZONE=325, EXECUTE=326,
72 EXEC=327, SESSION=328, CONNECT=329, CONNECTION=330, CATALOG=331, CONTROL=332,
73 CONCAT=333, TAKE=334, OWNERSHIP=335, DEFINITION=336, APPLICATION=337,
74 ASSEMBLY=338, SYMMETRIC=339, ASYMMETRIC=340, SERVER=341, RECEIVE=342,
75 CHANGE=343, TRACE=344, TRACKING=345, RESOURCES=346, SETTINGS=347, STATE=348,
76 AVAILABILITY=349, CREDENTIAL=350, ENDPOINT=351, EVENT=352, NOTIFICATION=353,
77 LINKED=354, AUDIT=355, DDL=356, XML=357, IMPERSONATE=358, SECURABLES=359,
78 AUTHENTICATE=360, EXTERNAL=361, ACCESS=362, ADMINISTER=363, BULK=364,
79 OPERATIONS=365, UNSAFE=366, SHUTDOWN=367, SCOPED=368, CONFIGURATION=369,
80 DATASPACE=370, SERVICE=371, CERTIFICATE=372, CONTRACT=373, ENCRYPTION=374,
81 MASTER=375, DATA=376, SOURCE=377, FILE=378, FORMAT=379, LIBRARY=380, FULLTEXT=381,
82 MASK=382, UNMASK=383, MESSAGE=384, REMOTE=385, BINDING=386, ROUTE=387,
83 SECURITY=388, POLICY=389, AGGREGATE=390, QUEUE=391, RULE=392, SYNONYM=393,
84 COLLECTION=394, SCRIPT=395, KILL=396, BACKUP=397, LOG=398, SHOWPLAN=399,
85 SUBSCRIBE=400, QUERY=401, NOTIFICATIONS=402, CHECKPOINT=403, SEQUENCE=404,
86 ABORT_AFTER_WAIT=405, ALLOW_PAGE_LOCKS=406, ALLOW_ROW_LOCKS=407, ALL_SPARSE_COLUMNS=408,
87 BUCKET_COUNT=409, COLUMNSTORE_ARCHIVE=410, COLUMN_ENCRYPTION_KEY=411,
88 COLUMN_SET=412, COMPRESSION_DELAY=413, DATABASE_DEAULT=414, DATA_COMPRESSION=415,
89 DATA_CONSISTENCY_CHECK=416, ENCRYPTION_TYPE=417, SYSTEM_TIME=418, SYSTEM_VERSIONING=419,
90 TEXTIMAGE_ON=420, WAIT_AT_LOW_PRIORITY=421, STATISTICS_INCREMENTAL=422,
91 STATISTICS_NORECOMPUTE=423, ROUND_ROBIN=424, SCHEMA_AND_DATA=425, SCHEMA_ONLY=426,
92 SORT_IN_TEMPDB=427, IGNORE_DUP_KEY=428, IMPLICIT_TRANSACTIONS=429, MAX_DURATION=430,
93 MEMORY_OPTIMIZED=431, MIGRATION_STATE=432, PAD_INDEX=433, REMOTE_DATA_ARCHIVE=434,
94 FILESTREAM_ON=435, FILETABLE_COLLATE_FILENAME=436, FILETABLE_DIRECTORY=437,
95 FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME=438, FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME=439,
96 FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME=440, FILTER_PREDICATE=441, HISTORY_RETENTION_PERIOD=442,
97 HISTORY_TABLE=443, LOCK_ESCALATION=444, DROP_EXISTING=445, ROW_NUMBER=446,
98 FETCH=447, FIRST=448, ONLY=449, MONEY=450, SMALLMONEY=451, DATETIMEOFFSET=452,
99 DATETIME=453, DATETIME2=454, SMALLDATETIME=455, NCHAR=456, NVARCHAR=457,
100 NTEXT=458, VARBINARY=459, IMAGE=460, SQL_VARIANT=461, UNIQUEIDENTIFIER=462,
101 HIERARCHYID=463, GEOMETRY=464, GEOGRAPHY=465, OUTPUT=466, INSERTED=467,
102 DELETED=468, ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS=469, ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES=470,
103 DISABLE_BATCH_MODE_ADAPTIVE_JOINS=471, DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK=472,
104 DISABLE_DEFERRED_COMPILATION_TV=473, DISABLE_INTERLEAVED_EXECUTION_TVF=474,
105 DISABLE_OPTIMIZED_NESTED_LOOP=475, DISABLE_OPTIMIZER_ROWGOAL=476, DISABLE_PARAMETER_SNIFFING=477,
106 DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK=478, DISABLE_TSQL_SCALAR_UDF_INLINING=479,
107 DISALLOW_BATCH_MODE=480, ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS=481, ENABLE_QUERY_OPTIMIZER_HOTFIXES=482,
108 FORCE_DEFAULT_CARDINALITY_ESTIMATION=483, FORCE_LEGACY_CARDINALITY_ESTIMATION=484,
109 QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n=485, QUERY_PLAN_PROFILE=486, EXTERNALPUSHDOWN=487,
110 SCALEOUTEXECUTION=488, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=489, KEEPFIXED=490,
111 MAX_GRANT_PERCENT=491, MIN_GRANT_PERCENT=492, MAXRECURSION=493, NO_PERFORMANCE_SPOOL=494,
112 PARAMETERIZATION=495, QUERYTRACEON=496, RECOMPILE=497, ROBUST=498, OPTIMIZE_FOR_SEQUENTIAL_KEY=499,
113 DATA_DELETION=500, FILTER_COLUMN=501, RETENTION_PERIOD=502, CONTAINMENT=503,
114 PARTIAL=504, FILENAME=505, SIZE=506, MAXSIZE=507, FILEGROWTH=508, UNLIMITED=509,
115 KB=510, MB=511, GB=512, TB=513, CONTAINS=514, MEMORY_OPTIMIZED_DATA=515,
116 FILEGROUP=516, NON_TRANSACTED_ACCESS=517, DB_CHAINING=518, TRUSTWORTHY=519,
117 FORWARD_ONLY=520, SCROLL=521, STATIC=522, KEYSET=523, DYNAMIC=524, FAST_FORWARD=525,
118 SCROLL_LOCKS=526, OPTIMISTIC=527, TYPE_WARNING=528, SCHEMABINDING=529,
119 CALLER=530, INPUT=531, CALLED=532, VARYING=533, OUT=534, OWNER=535, ATOMIC=536,
120 LANGUAGE=537, LEVEL=538, ISOLATION=539, SNAPSHOT=540, REPEATABLE=541,
121 READ=542, SERIALIZABLE=543, NATIVE_COMPILATION=544, VIEW_METADATA=545,
122 AFTER=546, INSTEAD=547, APPEND=548, INCREMENT=549, CYCLE=550, CACHE=551,
123 MINVALUE=552, MAXVALUE=553, RESTART=554, LOB_COMPACTION=555, COMPRESS_ALL_ROW_GROUPS=556,
124 REORGANIZE=557, RESUME=558, PAUSE=559, ABORT=560, INCLUDE=561, DISTRIBUTED=562,
125 MARK=563, WORK=564, REMOVE=565, AUTOGROW_SINGLE_FILE=566, AUTOGROW_ALL_FILES=567,
126 READWRITE=568, READ_WRITE=569, MODIFY=570, ACCELERATED_DATABASE_RECOVERY=571,
127 PERSISTENT_VERSION_STORE_FILEGROUP=572, IMMEDIATE=573, NO_WAIT=574, TARGET_RECOVERY_TIME=575,
128 SECONDS=576, HONOR_BROKER_PRIORITY=577, ERROR_BROKER_CONVERSATIONS=578,
129 NEW_BROKER=579, DISABLE_BROKER=580, ENABLE_BROKER=581, MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=582,
130 READ_COMMITTED_SNAPSHOT=583, ALLOW_SNAPSHOT_ISOLATION=584, RECURSIVE_TRIGGERS=585,
131 QUOTED_IDENTIFIER=586, NUMERIC_ROUNDABORT=587, CONCAT_NULL_YIELDS_NULL=588,
132 COMPATIBILITY_LEVEL=589, ARITHABORT=590, ANSI_WARNINGS=591, ANSI_PADDING=592,
133 ANSI_NULLS=593, ANSI_NULL_DEFAULT=594, PAGE_VERIFY=595, CHECKSUM=596,
134 TORN_PAGE_DETECTION=597, BULK_LOGGED=598, RECOVERY=599, TOTAL_EXECUTION_CPU_TIME_MS=600,
135 TOTAL_COMPILE_CPU_TIME_MS=601, STALE_CAPTURE_POLICY_THRESHOLD=602, EXECUTION_COUNT=603,
136 QUERY_CAPTURE_POLICY=604, WAIT_STATS_CAPTURE_MODE=605, MAX_PLANS_PER_QUERY=606,
137 QUERY_CAPTURE_MODE=607, SIZE_BASED_CLEANUP_MODE=608, INTERVAL_LENGTH_MINUTES=609,
138 MAX_STORAGE_SIZE_MB=610, DATA_FLUSH_INTERVAL_SECONDS=611, CLEANUP_POLICY=612,
139 CUSTOM=613, STALE_QUERY_THRESHOLD_DAYS=614, OPERATION_MODE=615, QUERY_STORE=616,
140 CURSOR_DEFAULT=617, GLOBAL=618, CURSOR_CLOSE_ON_COMMIT=619, HOURS=620,
141 CHANGE_RETENTION=621, AUTO_CLEANUP=622, CHANGE_TRACKING=623, AUTOMATIC_TUNING=624,
142 FORCE_LAST_GOOD_PLAN=625, AUTO_UPDATE_STATISTICS_ASYNC=626, AUTO_UPDATE_STATISTICS=627,
143 AUTO_SHRINK=628, AUTO_CREATE_STATISTICS=629, INCREMENTAL=630, AUTO_CLOSE=631,
144 DATA_RETENTION=632, TEMPORAL_HISTORY_RETENTION=633, EDITION=634, MIXED_PAGE_ALLOCATION=635,
145 DISABLED=636, ALLOWED=637, HADR=638, MULTI_USER=639, RESTRICTED_USER=640,
146 SINGLE_USER=641, OFFLINE=642, EMERGENCY=643, SUSPEND=644, DATE_CORRELATION_OPTIMIZATION=645,
147 ELASTIC_POOL=646, SERVICE_OBJECTIVE=647, DATABASE_NAME=648, ALLOW_CONNECTIONS=649,
148 GEO=650, NAMED=651, DATEFIRST=652, BACKUP_STORAGE_REDUNDANCY=653, FORCE_FAILOVER_ALLOW_DATA_LOSS=654,
149 SECONDARY=655, FAILOVER=656, DEFAULT_FULLTEXT_LANGUAGE=657, DEFAULT_LANGUAGE=658,
150 INLINE=659, NESTED_TRIGGERS=660, TRANSFORM_NOISE_WORDS=661, TWO_DIGIT_YEAR_CUTOFF=662,
151 PERSISTENT_LOG_BUFFER=663, DIRECTORY_NAME=664, DATEFORMAT=665, DELAYED_DURABILITY=666,
152 AUTHORIZATION=667, TRANSFER=668, EXPLAIN=669, WITH_RECOMMENDATIONS=670,
153 BATCH_SIZE=671, SETUSER=672, NORESET=673, DEFAULT_SCHEMA=674, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=675,
154 OLD_PASSWORD=676, PROVIDER=677, SID=678, UNCOMMITTED=679, COMMITTED=680,
155 STOPLIST=681, SEARCH=682, PROPERTY=683, LIST=684, SEND=685, MEMBER=686,
156 HASHED=687, MUST_CHANGE=688, DEFAULT_DATABASE=689, CHECK_EXPIRATION=690,
157 CHECK_POLICY=691, WINDOWS=692, UNLOCK=693, REVERT=694, COOKIE=695, BROWSE=696,
158 RAW=697, XMLDATA=698, XMLSCHEMA=699, ELEMENTS=700, XSINIL=701, ABSENT=702,
159 EXPLICIT=703, PATH=704, BASE64=705, ROOT=706, JSON=707, INCLUDE_NULL_VALUES=708,
160 WITHOUT_ARRAY_WRAPPER=709, XMLNAMESPACES=710, STATISTICS=711, FULLSCAN=712,
161 SAMPLE=713, RESAMPLE=714, NORECOMPUTE=715, AUTO_DROP=716, PERSIST_SAMPLE_PERCENT=717,
162 OPENJSON=718, OPENROWSET=719, TRY_CAST=720, TRY_CONVERT=721, IDENTIFIER_=722,
163 DELIMITED_IDENTIFIER_=723, STRING_=724, NUMBER_=725, INT_NUM_=726, FLOAT_NUM_=727,
164 DECIMAL_NUM_=728, HEX_DIGIT_=729, BIT_NUM_=730, NCHAR_TEXT=731, RESPECT=732,
165 IGNORE=733, NULLS=734;
166 public static final int
167 RULE_execute = 0, RULE_setTransaction = 1, RULE_isolationLevel = 2, RULE_setImplicitTransactions = 3,
168 RULE_implicitTransactionsValue = 4, RULE_beginTransaction = 5, RULE_beginDistributedTransaction = 6,
169 RULE_commit = 7, RULE_commitWork = 8, RULE_rollback = 9, RULE_rollbackWork = 10,
170 RULE_savepoint = 11, RULE_parameterMarker = 12, RULE_literals = 13, RULE_stringLiterals = 14,
171 RULE_numberLiterals = 15, RULE_dateTimeLiterals = 16, RULE_hexadecimalLiterals = 17,
172 RULE_bitValueLiterals = 18, RULE_booleanLiterals = 19, RULE_nullValueLiterals = 20,
173 RULE_identifier = 21, RULE_regularIdentifier = 22, RULE_delimitedIdentifier = 23,
174 RULE_unreservedWord = 24, RULE_databaseName = 25, RULE_schemaName = 26,
175 RULE_functionName = 27, RULE_procedureName = 28, RULE_viewName = 29, RULE_triggerName = 30,
176 RULE_sequenceName = 31, RULE_tableName = 32, RULE_queueName = 33, RULE_contractName = 34,
177 RULE_serviceName = 35, RULE_columnName = 36, RULE_scriptVariableName = 37,
178 RULE_owner = 38, RULE_name = 39, RULE_columnNames = 40, RULE_columnNamesWithSort = 41,
179 RULE_tableNames = 42, RULE_indexName = 43, RULE_constraintName = 44, RULE_collationName = 45,
180 RULE_alias = 46, RULE_dataTypeLength = 47, RULE_primaryKey = 48, RULE_expr = 49,
181 RULE_andOperator = 50, RULE_orOperator = 51, RULE_distinctFrom = 52, RULE_notOperator = 53,
182 RULE_booleanPrimary = 54, RULE_comparisonOperator = 55, RULE_predicate = 56,
183 RULE_bitExpr = 57, RULE_simpleExpr = 58, RULE_functionCall = 59, RULE_aggregationFunction = 60,
184 RULE_aggregationFunctionName = 61, RULE_distinct = 62, RULE_specialFunction = 63,
185 RULE_openDatasourceFunction = 64, RULE_approxFunction = 65, RULE_conversionFunction = 66,
186 RULE_castFunction = 67, RULE_convertFunction = 68, RULE_jsonFunction = 69,
187 RULE_jsonObjectFunction = 70, RULE_jsonArrayFunction = 71, RULE_jsonKeyValue = 72,
188 RULE_jsonNullClause = 73, RULE_charFunction = 74, RULE_openJsonFunction = 75,
189 RULE_openJsonWithclause = 76, RULE_jsonColumnDefinition = 77, RULE_openRowSetFunction = 78,
190 RULE_regularFunction = 79, RULE_regularFunctionName = 80, RULE_caseExpression = 81,
191 RULE_caseWhen = 82, RULE_caseElse = 83, RULE_privateExprOfDb = 84, RULE_orderByClause = 85,
192 RULE_orderByItem = 86, RULE_dataType = 87, RULE_dataTypeName = 88, RULE_atTimeZoneExpr = 89,
193 RULE_castExpr = 90, RULE_convertExpr = 91, RULE_windowFunction = 92, RULE_nullTreatment = 93,
194 RULE_overClause = 94, RULE_partitionByClause = 95, RULE_rowRangeClause = 96,
195 RULE_windowFrameExtent = 97, RULE_windowFrameBetween = 98, RULE_windowFrameBound = 99,
196 RULE_windowFramePreceding = 100, RULE_windowFrameFollowing = 101, RULE_columnNameWithSort = 102,
197 RULE_indexOption = 103, RULE_compressionOption = 104, RULE_eqTime = 105,
198 RULE_eqOnOffOption = 106, RULE_eqKey = 107, RULE_eqOnOff = 108, RULE_onPartitionClause = 109,
199 RULE_partitionExpressions = 110, RULE_partitionExpression = 111, RULE_numberRange = 112,
200 RULE_lowPriorityLockWait = 113, RULE_onLowPriorLockWait = 114, RULE_ignoredIdentifier = 115,
201 RULE_ignoredIdentifiers = 116, RULE_matchNone = 117, RULE_variableName = 118,
202 RULE_executeAsClause = 119, RULE_transactionName = 120, RULE_transactionVariableName = 121,
203 RULE_savepointName = 122, RULE_savepointVariableName = 123, RULE_entityType = 124,
204 RULE_ifExists = 125, RULE_tableHintLimited = 126, RULE_call = 127, RULE_explain = 128,
205 RULE_explainableStatement = 129, RULE_createTable = 130, RULE_createTableClause = 131,
206 RULE_createIndex = 132, RULE_createDatabase = 133, RULE_createFunction = 134,
207 RULE_createProcedure = 135, RULE_createView = 136, RULE_createTrigger = 137,
208 RULE_createSequence = 138, RULE_createService = 139, RULE_createSchema = 140,
209 RULE_alterTable = 141, RULE_alterIndex = 142, RULE_alterDatabase = 143,
210 RULE_alterProcedure = 144, RULE_alterFunction = 145, RULE_alterView = 146,
211 RULE_alterTrigger = 147, RULE_alterSequence = 148, RULE_alterService = 149,
212 RULE_alterSchema = 150, RULE_dropTable = 151, RULE_dropIndex = 152, RULE_dropDatabase = 153,
213 RULE_dropFunction = 154, RULE_dropProcedure = 155, RULE_dropView = 156,
214 RULE_dropTrigger = 157, RULE_dropSequence = 158, RULE_dropService = 159,
215 RULE_dropSchema = 160, RULE_truncateTable = 161, RULE_updateStatistics = 162,
216 RULE_statisticsWithClause = 163, RULE_sampleOption = 164, RULE_statisticsOptions = 165,
217 RULE_statisticsOption = 166, RULE_fileTableClause = 167, RULE_createDefinitionClause = 168,
218 RULE_createTableDefinitions = 169, RULE_createTableDefinition = 170, RULE_columnDefinition = 171,
219 RULE_columnDefinitionOption = 172, RULE_encryptedOptions = 173, RULE_columnConstraint = 174,
220 RULE_computedColumnConstraint = 175, RULE_computedColumnForeignKeyConstraint = 176,
221 RULE_computedColumnForeignKeyOnAction = 177, RULE_primaryKeyConstraint = 178,
222 RULE_diskTablePrimaryKeyConstraintOption = 179, RULE_clusterOption = 180,
223 RULE_primaryKeyWithClause = 181, RULE_primaryKeyOnClause = 182, RULE_onSchemaColumn = 183,
224 RULE_onFileGroup = 184, RULE_onString = 185, RULE_memoryTablePrimaryKeyConstraintOption = 186,
225 RULE_withBucket = 187, RULE_columnForeignKeyConstraint = 188, RULE_foreignKeyOnAction = 189,
226 RULE_foreignKeyOn = 190, RULE_checkConstraint = 191, RULE_columnIndex = 192,
227 RULE_withIndexOption = 193, RULE_indexOnClause = 194, RULE_onDefault = 195,
228 RULE_fileStreamOn = 196, RULE_columnConstraints = 197, RULE_computedColumnDefinition = 198,
229 RULE_columnSetDefinition = 199, RULE_tableConstraint = 200, RULE_tablePrimaryConstraint = 201,
230 RULE_primaryKeyUnique = 202, RULE_diskTablePrimaryConstraintOption = 203,
231 RULE_memoryTablePrimaryConstraintOption = 204, RULE_hashWithBucket = 205,
232 RULE_tableForeignKeyConstraint = 206, RULE_tableIndex = 207, RULE_indexNameOption = 208,
233 RULE_indexOptions = 209, RULE_periodClause = 210, RULE_partitionScheme = 211,
234 RULE_fileGroup = 212, RULE_tableOptions = 213, RULE_tableOption = 214,
235 RULE_dataDelectionOption = 215, RULE_tableStretchOptions = 216, RULE_tableStretchOption = 217,
236 RULE_migrationState_ = 218, RULE_tableOperationOption = 219, RULE_distributionOption = 220,
237 RULE_dataWareHouseTableOption = 221, RULE_dataWareHousePartitionOption = 222,
238 RULE_createIndexSpecification = 223, RULE_alterDefinitionClause = 224,
239 RULE_addColumnSpecification = 225, RULE_modifyColumnSpecification = 226,
240 RULE_alterColumnOperation = 227, RULE_alterColumnAddOptions = 228, RULE_alterColumnAddOption = 229,
241 RULE_constraintForColumn = 230, RULE_generatedColumnNamesClause = 231,
242 RULE_generatedColumnNameClause = 232, RULE_generatedColumnName = 233,
243 RULE_alterDrop = 234, RULE_alterTableDropConstraint = 235, RULE_dropConstraintName = 236,
244 RULE_dropConstraintWithClause = 237, RULE_dropConstraintOption = 238,
245 RULE_onOffOption = 239, RULE_dropColumnSpecification = 240, RULE_dropIndexSpecification = 241,
246 RULE_alterCheckConstraint = 242, RULE_alterTableTrigger = 243, RULE_alterSwitch = 244,
247 RULE_alterSet = 245, RULE_setFileStreamClause = 246, RULE_setSystemVersionClause = 247,
248 RULE_alterSetOnClause = 248, RULE_dataConsistencyCheckClause = 249, RULE_historyRetentionPeriodClause = 250,
249 RULE_historyRetentionPeriod = 251, RULE_alterTableTableIndex = 252, RULE_indexWithName = 253,
250 RULE_indexNonClusterClause = 254, RULE_alterTableIndexOnClause = 255,
251 RULE_indexClusterClause = 256, RULE_alterTableOption = 257, RULE_onHistoryTableClause = 258,
252 RULE_createDatabaseClause = 259, RULE_fileDefinitionClause = 260, RULE_databaseOption = 261,
253 RULE_fileStreamOption = 262, RULE_fileSpec = 263, RULE_databaseFileSpecOption = 264,
254 RULE_databaseFileGroup = 265, RULE_databaseFileGroupContains = 266, RULE_databaseLogOns = 267,
255 RULE_declareVariable = 268, RULE_variable = 269, RULE_tableVariable = 270,
256 RULE_variTableTypeDefinition = 271, RULE_tableVariableClause = 272, RULE_variableTableColumnDefinition = 273,
257 RULE_variableTableColumnConstraint = 274, RULE_variableTableConstraint = 275,
258 RULE_setVariable = 276, RULE_setVariableClause = 277, RULE_cursorVariable = 278,
259 RULE_cursorClause = 279, RULE_compoundOperation = 280, RULE_funcParameters = 281,
260 RULE_funcReturns = 282, RULE_funcMutiReturn = 283, RULE_funcInlineReturn = 284,
261 RULE_funcScalarReturn = 285, RULE_tableTypeDefinition = 286, RULE_compoundStatement = 287,
262 RULE_functionOption = 288, RULE_validStatement = 289, RULE_procParameters = 290,
263 RULE_procParameter = 291, RULE_createOrAlterProcClause = 292, RULE_withCreateProcOption = 293,
264 RULE_procOption = 294, RULE_procAsClause = 295, RULE_procSetOption = 296,
265 RULE_createOrAlterViewClause = 297, RULE_viewAttribute = 298, RULE_withCommonTableExpr = 299,
266 RULE_commonTableExpr = 300, RULE_createTriggerClause = 301, RULE_dmlTriggerOption = 302,
267 RULE_methodSpecifier = 303, RULE_triggerTarget = 304, RULE_createOrAlterSequenceClause = 305,
268 RULE_createIndexClause = 306, RULE_filterPredicate = 307, RULE_conjunct = 308,
269 RULE_alterIndexClause = 309, RULE_relationalIndexOption = 310, RULE_partitionNumberRange = 311,
270 RULE_reorganizeOption = 312, RULE_setIndexOption = 313, RULE_resumableIndexOptions = 314,
271 RULE_alterDatabaseClause = 315, RULE_addSecondaryOption = 316, RULE_editionOptions = 317,
272 RULE_serviceObjective = 318, RULE_alterDatabaseOptionSpec = 319, RULE_fileAndFilegroupOptions = 320,
273 RULE_addOrModifyFilegroups = 321, RULE_filegroupUpdatabilityOption = 322,
274 RULE_addOrModifyFiles = 323, RULE_acceleratedDatabaseRecovery = 324, RULE_autoOption = 325,
275 RULE_automaticTuningOption = 326, RULE_changeTrackingOption = 327, RULE_changeTrackingOptionList = 328,
276 RULE_cursorOption = 329, RULE_externalAccessOption = 330, RULE_queryStoreOptions = 331,
277 RULE_queryStoreOptionList = 332, RULE_queryCapturePolicyOptionList = 333,
278 RULE_recoveryOption = 334, RULE_sqlOption = 335, RULE_snapshotOption = 336,
279 RULE_serviceBrokerOption = 337, RULE_targetRecoveryTimeOption = 338, RULE_termination = 339,
280 RULE_createServiceClause = 340, RULE_alterServiceClause = 341, RULE_alterServiceOptArg = 342,
281 RULE_schemaNameClause = 343, RULE_schemaElement = 344, RULE_createTableAsSelectClause = 345,
282 RULE_createTableAsSelect = 346, RULE_createRemoteTableAsSelect = 347,
283 RULE_withDistributionOption = 348, RULE_optionQueryHintClause = 349, RULE_insert = 350,
284 RULE_insertDefaultValue = 351, RULE_insertValuesClause = 352, RULE_insertSelectClause = 353,
285 RULE_insertExecClause = 354, RULE_withTableHint = 355, RULE_exec = 356,
286 RULE_update = 357, RULE_assignment = 358, RULE_setAssignmentsClause = 359,
287 RULE_assignmentValues = 360, RULE_assignmentValue = 361, RULE_delete = 362,
288 RULE_optionHint = 363, RULE_singleTableClause = 364, RULE_multipleTablesClause = 365,
289 RULE_multipleTableNames = 366, RULE_select = 367, RULE_aggregationClause = 368,
290 RULE_selectClause = 369, RULE_duplicateSpecification = 370, RULE_projections = 371,
291 RULE_projection = 372, RULE_top = 373, RULE_topNum = 374, RULE_unqualifiedShorthand = 375,
292 RULE_qualifiedShorthand = 376, RULE_intoClause = 377, RULE_fromClause = 378,
293 RULE_tableReferences = 379, RULE_tableReference = 380, RULE_tableFactor = 381,
294 RULE_joinedTable = 382, RULE_joinSpecification = 383, RULE_whereClause = 384,
295 RULE_groupByClause = 385, RULE_havingClause = 386, RULE_subquery = 387,
296 RULE_withTempTable = 388, RULE_withClause = 389, RULE_cteClauseSet = 390,
297 RULE_cteClause = 391, RULE_outputClause = 392, RULE_outputWithColumns = 393,
298 RULE_scalarExpression = 394, RULE_outputWithColumn = 395, RULE_outputWithAaterisk = 396,
299 RULE_outputTableName = 397, RULE_queryHint = 398, RULE_useHitName = 399,
300 RULE_forClause = 400, RULE_forXmlClause = 401, RULE_commonDirectivesForXml = 402,
301 RULE_forJsonClause = 403, RULE_selectWithClause = 404, RULE_xmlNamespacesClause = 405,
302 RULE_xmlNamespaceDeclarationItem = 406, RULE_xmlNamespaceUri = 407, RULE_xmlNamespacePrefix = 408,
303 RULE_xmlDefaultNamespaceDeclarationItem = 409, RULE_grant = 410, RULE_grantClassPrivilegesClause = 411,
304 RULE_grantClassTypePrivilegesClause = 412, RULE_classPrivileges = 413,
305 RULE_onClassClause = 414, RULE_classTypePrivileges = 415, RULE_onClassTypeClause = 416,
306 RULE_securable = 417, RULE_principal = 418, RULE_revoke = 419, RULE_revokeClassPrivilegesClause = 420,
307 RULE_revokeClassTypePrivilegesClause = 421, RULE_deny = 422, RULE_denyClassPrivilegesClause = 423,
308 RULE_denyClassTypePrivilegesClause = 424, RULE_optionForClause = 425,
309 RULE_privilegeType = 426, RULE_objectPermission = 427, RULE_serverPermission = 428,
310 RULE_serverPrincipalPermission = 429, RULE_databasePermission = 430, RULE_databasePrincipalPermission = 431,
311 RULE_databaseUserPermission = 432, RULE_databaseRolePermission = 433,
312 RULE_applicationRolePermission = 434, RULE_databaseScopedCredentialPermission = 435,
313 RULE_schemaPermission = 436, RULE_searchPropertyListPermission = 437,
314 RULE_serviceBrokerPermission = 438, RULE_serviceBrokerContractsPermission = 439,
315 RULE_serviceBrokerMessageTypesPermission = 440, RULE_serviceBrokerRemoteServiceBindingsPermission = 441,
316 RULE_serviceBrokerRoutesPermission = 442, RULE_serviceBrokerServicesPermission = 443,
317 RULE_endpointPermission = 444, RULE_certificatePermission = 445, RULE_symmetricKeyPermission = 446,
318 RULE_asymmetricKeyPermission = 447, RULE_assemblyPermission = 448, RULE_availabilityGroupPermission = 449,
319 RULE_fullTextPermission = 450, RULE_fullTextCatalogPermission = 451, RULE_fullTextStoplistPermission = 452,
320 RULE_typePermission = 453, RULE_xmlSchemaCollectionPermission = 454, RULE_systemObjectPermission = 455,
321 RULE_class_ = 456, RULE_classItem = 457, RULE_classType = 458, RULE_roleClause = 459,
322 RULE_setUser = 460, RULE_createUser = 461, RULE_createUserLoginClause = 462,
323 RULE_createUserWindowsPrincipalClause = 463, RULE_createUserLoginWindowsPrincipalClause = 464,
324 RULE_createUserWithoutLoginClause = 465, RULE_optionsList = 466, RULE_limitedOptionsList = 467,
325 RULE_createUserFromExternalProviderClause = 468, RULE_createUserWithDefaultSchema = 469,
326 RULE_createUserWithAzureActiveDirectoryPrincipalClause = 470, RULE_windowsPrincipal = 471,
327 RULE_azureActiveDirectoryPrincipal = 472, RULE_userName = 473, RULE_ignoredNameIdentifier = 474,
328 RULE_dropUser = 475, RULE_alterUser = 476, RULE_setItem = 477, RULE_createRole = 478,
329 RULE_dropRole = 479, RULE_alterRole = 480, RULE_createLogin = 481, RULE_createLoginForSQLServerClause = 482,
330 RULE_createLoginForSQLServerOptionList = 483, RULE_createLoginForSQLServerOptionListClause = 484,
331 RULE_hashedPassword = 485, RULE_sid = 486, RULE_sources = 487, RULE_windowsOptions = 488,
332 RULE_createLoginForAzureSQLDatabaseClause = 489, RULE_createLoginForAzureSQLDatabaseOptionList = 490,
333 RULE_createLoginForAzureManagedInstanceClause = 491, RULE_azureManagedInstanceOptionList = 492,
334 RULE_createLoginForAzureSynapseAnalyticsClause = 493, RULE_createLoginForAzureSynapseAnalyticsOptionList = 494,
335 RULE_createLoginForAnalyticsPlatformSystemClause = 495, RULE_createLoginForAnalyticsPlatformSystemOptionList = 496,
336 RULE_createLoginForAnalyticsPlatformSystemOptionListClause = 497, RULE_dropLogin = 498,
337 RULE_alterLogin = 499, RULE_statusOptionClause = 500, RULE_setOptionClause = 501,
338 RULE_passwordOptionClause = 502, RULE_cryptographicCredentialsOptionClause = 503,
339 RULE_revert = 504;
340 private static String[] makeRuleNames() {
341 return new String[] {
342 "execute", "setTransaction", "isolationLevel", "setImplicitTransactions",
343 "implicitTransactionsValue", "beginTransaction", "beginDistributedTransaction",
344 "commit", "commitWork", "rollback", "rollbackWork", "savepoint", "parameterMarker",
345 "literals", "stringLiterals", "numberLiterals", "dateTimeLiterals", "hexadecimalLiterals",
346 "bitValueLiterals", "booleanLiterals", "nullValueLiterals", "identifier",
347 "regularIdentifier", "delimitedIdentifier", "unreservedWord", "databaseName",
348 "schemaName", "functionName", "procedureName", "viewName", "triggerName",
349 "sequenceName", "tableName", "queueName", "contractName", "serviceName",
350 "columnName", "scriptVariableName", "owner", "name", "columnNames", "columnNamesWithSort",
351 "tableNames", "indexName", "constraintName", "collationName", "alias",
352 "dataTypeLength", "primaryKey", "expr", "andOperator", "orOperator",
353 "distinctFrom", "notOperator", "booleanPrimary", "comparisonOperator",
354 "predicate", "bitExpr", "simpleExpr", "functionCall", "aggregationFunction",
355 "aggregationFunctionName", "distinct", "specialFunction", "openDatasourceFunction",
356 "approxFunction", "conversionFunction", "castFunction", "convertFunction",
357 "jsonFunction", "jsonObjectFunction", "jsonArrayFunction", "jsonKeyValue",
358 "jsonNullClause", "charFunction", "openJsonFunction", "openJsonWithclause",
359 "jsonColumnDefinition", "openRowSetFunction", "regularFunction", "regularFunctionName",
360 "caseExpression", "caseWhen", "caseElse", "privateExprOfDb", "orderByClause",
361 "orderByItem", "dataType", "dataTypeName", "atTimeZoneExpr", "castExpr",
362 "convertExpr", "windowFunction", "nullTreatment", "overClause", "partitionByClause",
363 "rowRangeClause", "windowFrameExtent", "windowFrameBetween", "windowFrameBound",
364 "windowFramePreceding", "windowFrameFollowing", "columnNameWithSort",
365 "indexOption", "compressionOption", "eqTime", "eqOnOffOption", "eqKey",
366 "eqOnOff", "onPartitionClause", "partitionExpressions", "partitionExpression",
367 "numberRange", "lowPriorityLockWait", "onLowPriorLockWait", "ignoredIdentifier",
368 "ignoredIdentifiers", "matchNone", "variableName", "executeAsClause",
369 "transactionName", "transactionVariableName", "savepointName", "savepointVariableName",
370 "entityType", "ifExists", "tableHintLimited", "call", "explain", "explainableStatement",
371 "createTable", "createTableClause", "createIndex", "createDatabase",
372 "createFunction", "createProcedure", "createView", "createTrigger", "createSequence",
373 "createService", "createSchema", "alterTable", "alterIndex", "alterDatabase",
374 "alterProcedure", "alterFunction", "alterView", "alterTrigger", "alterSequence",
375 "alterService", "alterSchema", "dropTable", "dropIndex", "dropDatabase",
376 "dropFunction", "dropProcedure", "dropView", "dropTrigger", "dropSequence",
377 "dropService", "dropSchema", "truncateTable", "updateStatistics", "statisticsWithClause",
378 "sampleOption", "statisticsOptions", "statisticsOption", "fileTableClause",
379 "createDefinitionClause", "createTableDefinitions", "createTableDefinition",
380 "columnDefinition", "columnDefinitionOption", "encryptedOptions", "columnConstraint",
381 "computedColumnConstraint", "computedColumnForeignKeyConstraint", "computedColumnForeignKeyOnAction",
382 "primaryKeyConstraint", "diskTablePrimaryKeyConstraintOption", "clusterOption",
383 "primaryKeyWithClause", "primaryKeyOnClause", "onSchemaColumn", "onFileGroup",
384 "onString", "memoryTablePrimaryKeyConstraintOption", "withBucket", "columnForeignKeyConstraint",
385 "foreignKeyOnAction", "foreignKeyOn", "checkConstraint", "columnIndex",
386 "withIndexOption", "indexOnClause", "onDefault", "fileStreamOn", "columnConstraints",
387 "computedColumnDefinition", "columnSetDefinition", "tableConstraint",
388 "tablePrimaryConstraint", "primaryKeyUnique", "diskTablePrimaryConstraintOption",
389 "memoryTablePrimaryConstraintOption", "hashWithBucket", "tableForeignKeyConstraint",
390 "tableIndex", "indexNameOption", "indexOptions", "periodClause", "partitionScheme",
391 "fileGroup", "tableOptions", "tableOption", "dataDelectionOption", "tableStretchOptions",
392 "tableStretchOption", "migrationState_", "tableOperationOption", "distributionOption",
393 "dataWareHouseTableOption", "dataWareHousePartitionOption", "createIndexSpecification",
394 "alterDefinitionClause", "addColumnSpecification", "modifyColumnSpecification",
395 "alterColumnOperation", "alterColumnAddOptions", "alterColumnAddOption",
396 "constraintForColumn", "generatedColumnNamesClause", "generatedColumnNameClause",
397 "generatedColumnName", "alterDrop", "alterTableDropConstraint", "dropConstraintName",
398 "dropConstraintWithClause", "dropConstraintOption", "onOffOption", "dropColumnSpecification",
399 "dropIndexSpecification", "alterCheckConstraint", "alterTableTrigger",
400 "alterSwitch", "alterSet", "setFileStreamClause", "setSystemVersionClause",
401 "alterSetOnClause", "dataConsistencyCheckClause", "historyRetentionPeriodClause",
402 "historyRetentionPeriod", "alterTableTableIndex", "indexWithName", "indexNonClusterClause",
403 "alterTableIndexOnClause", "indexClusterClause", "alterTableOption",
404 "onHistoryTableClause", "createDatabaseClause", "fileDefinitionClause",
405 "databaseOption", "fileStreamOption", "fileSpec", "databaseFileSpecOption",
406 "databaseFileGroup", "databaseFileGroupContains", "databaseLogOns", "declareVariable",
407 "variable", "tableVariable", "variTableTypeDefinition", "tableVariableClause",
408 "variableTableColumnDefinition", "variableTableColumnConstraint", "variableTableConstraint",
409 "setVariable", "setVariableClause", "cursorVariable", "cursorClause",
410 "compoundOperation", "funcParameters", "funcReturns", "funcMutiReturn",
411 "funcInlineReturn", "funcScalarReturn", "tableTypeDefinition", "compoundStatement",
412 "functionOption", "validStatement", "procParameters", "procParameter",
413 "createOrAlterProcClause", "withCreateProcOption", "procOption", "procAsClause",
414 "procSetOption", "createOrAlterViewClause", "viewAttribute", "withCommonTableExpr",
415 "commonTableExpr", "createTriggerClause", "dmlTriggerOption", "methodSpecifier",
416 "triggerTarget", "createOrAlterSequenceClause", "createIndexClause",
417 "filterPredicate", "conjunct", "alterIndexClause", "relationalIndexOption",
418 "partitionNumberRange", "reorganizeOption", "setIndexOption", "resumableIndexOptions",
419 "alterDatabaseClause", "addSecondaryOption", "editionOptions", "serviceObjective",
420 "alterDatabaseOptionSpec", "fileAndFilegroupOptions", "addOrModifyFilegroups",
421 "filegroupUpdatabilityOption", "addOrModifyFiles", "acceleratedDatabaseRecovery",
422 "autoOption", "automaticTuningOption", "changeTrackingOption", "changeTrackingOptionList",
423 "cursorOption", "externalAccessOption", "queryStoreOptions", "queryStoreOptionList",
424 "queryCapturePolicyOptionList", "recoveryOption", "sqlOption", "snapshotOption",
425 "serviceBrokerOption", "targetRecoveryTimeOption", "termination", "createServiceClause",
426 "alterServiceClause", "alterServiceOptArg", "schemaNameClause", "schemaElement",
427 "createTableAsSelectClause", "createTableAsSelect", "createRemoteTableAsSelect",
428 "withDistributionOption", "optionQueryHintClause", "insert", "insertDefaultValue",
429 "insertValuesClause", "insertSelectClause", "insertExecClause", "withTableHint",
430 "exec", "update", "assignment", "setAssignmentsClause", "assignmentValues",
431 "assignmentValue", "delete", "optionHint", "singleTableClause", "multipleTablesClause",
432 "multipleTableNames", "select", "aggregationClause", "selectClause",
433 "duplicateSpecification", "projections", "projection", "top", "topNum",
434 "unqualifiedShorthand", "qualifiedShorthand", "intoClause", "fromClause",
435 "tableReferences", "tableReference", "tableFactor", "joinedTable", "joinSpecification",
436 "whereClause", "groupByClause", "havingClause", "subquery", "withTempTable",
437 "withClause", "cteClauseSet", "cteClause", "outputClause", "outputWithColumns",
438 "scalarExpression", "outputWithColumn", "outputWithAaterisk", "outputTableName",
439 "queryHint", "useHitName", "forClause", "forXmlClause", "commonDirectivesForXml",
440 "forJsonClause", "selectWithClause", "xmlNamespacesClause", "xmlNamespaceDeclarationItem",
441 "xmlNamespaceUri", "xmlNamespacePrefix", "xmlDefaultNamespaceDeclarationItem",
442 "grant", "grantClassPrivilegesClause", "grantClassTypePrivilegesClause",
443 "classPrivileges", "onClassClause", "classTypePrivileges", "onClassTypeClause",
444 "securable", "principal", "revoke", "revokeClassPrivilegesClause", "revokeClassTypePrivilegesClause",
445 "deny", "denyClassPrivilegesClause", "denyClassTypePrivilegesClause",
446 "optionForClause", "privilegeType", "objectPermission", "serverPermission",
447 "serverPrincipalPermission", "databasePermission", "databasePrincipalPermission",
448 "databaseUserPermission", "databaseRolePermission", "applicationRolePermission",
449 "databaseScopedCredentialPermission", "schemaPermission", "searchPropertyListPermission",
450 "serviceBrokerPermission", "serviceBrokerContractsPermission", "serviceBrokerMessageTypesPermission",
451 "serviceBrokerRemoteServiceBindingsPermission", "serviceBrokerRoutesPermission",
452 "serviceBrokerServicesPermission", "endpointPermission", "certificatePermission",
453 "symmetricKeyPermission", "asymmetricKeyPermission", "assemblyPermission",
454 "availabilityGroupPermission", "fullTextPermission", "fullTextCatalogPermission",
455 "fullTextStoplistPermission", "typePermission", "xmlSchemaCollectionPermission",
456 "systemObjectPermission", "class_", "classItem", "classType", "roleClause",
457 "setUser", "createUser", "createUserLoginClause", "createUserWindowsPrincipalClause",
458 "createUserLoginWindowsPrincipalClause", "createUserWithoutLoginClause",
459 "optionsList", "limitedOptionsList", "createUserFromExternalProviderClause",
460 "createUserWithDefaultSchema", "createUserWithAzureActiveDirectoryPrincipalClause",
461 "windowsPrincipal", "azureActiveDirectoryPrincipal", "userName", "ignoredNameIdentifier",
462 "dropUser", "alterUser", "setItem", "createRole", "dropRole", "alterRole",
463 "createLogin", "createLoginForSQLServerClause", "createLoginForSQLServerOptionList",
464 "createLoginForSQLServerOptionListClause", "hashedPassword", "sid", "sources",
465 "windowsOptions", "createLoginForAzureSQLDatabaseClause", "createLoginForAzureSQLDatabaseOptionList",
466 "createLoginForAzureManagedInstanceClause", "azureManagedInstanceOptionList",
467 "createLoginForAzureSynapseAnalyticsClause", "createLoginForAzureSynapseAnalyticsOptionList",
468 "createLoginForAnalyticsPlatformSystemClause", "createLoginForAnalyticsPlatformSystemOptionList",
469 "createLoginForAnalyticsPlatformSystemOptionListClause", "dropLogin",
470 "alterLogin", "statusOptionClause", "setOptionClause", "passwordOptionClause",
471 "cryptographicCredentialsOptionClause", "revert"
472 };
473 }
474 public static final String[] ruleNames = makeRuleNames();
475
476 private static String[] makeLiteralNames() {
477 return new String[] {
478 null, "'Default does not match anything'", null, null, "'&&'", "'||'",
479 "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'",
480 "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null,
481 "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['",
482 "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", "'$'", null,
483 null, null, null, null, null, null, null, null, null, null, null, null,
484 null, null, null, null, null, null, null, null, null, null, null, null,
485 null, null, null, null, null, null, null, null, null, null, null, null,
486 null, null, null, null, null, null, null, null, null, null, null, null,
487 null, null, null, null, null, null, null, null, null, null, null, null,
488 null, null, null, null, null, null, null, null, null, null, null, null,
489 null, null, null, null, null, null, null, null, null, null, null, null,
490 null, null, null, null, null, null, null, null, null, null, null, null,
491 null, null, null, null, null, null, null, null, null, null, null, null,
492 null, null, null, null, null, null, null, null, null, null, null, null,
493 null, null, null, null, null, null, null, null, null, null, null, null,
494 null, null, null, null, null, null, null, null, null, null, null, null,
495 null, null, null, null, null, null, null, null, null, null, null, null,
496 null, null, null, null, null, null, null, null, null, null, null, null,
497 null, null, null, null, null, null, null, null, null, null, null, null,
498 null, null, null, null, null, null, null, null, null, null, null, null,
499 null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'"
500 };
501 }
502 private static final String[] _LITERAL_NAMES = makeLiteralNames();
503 private static String[] makeSymbolicNames() {
504 return new String[] {
505 null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
506 "TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
507 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
508 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
509 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
510 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
511 "DOLLAR_", "WS", "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER",
512 "DROP", "TRUNCATE", "SCHEMA", "GRANT", "REVOKE", "ADD", "SET", "TABLE",
513 "COLUMN", "COLUMNS", "INDEX", "CONSTRAINT", "PRIMARY", "UNIQUE", "FOREIGN",
514 "KEY", "POSITION", "PRECISION", "FUNCTION", "TRIGGER", "PROCEDURE", "PROC",
515 "VIEW", "INTO", "VALUES", "WITH", "UNION", "DISTINCT", "CASE", "WHEN",
516 "CAST", "TRIM", "SUBSTRING", "FROM", "NATURAL", "JOIN", "FULL", "INNER",
517 "OUTER", "LEFT", "RIGHT", "CROSS", "USING", "WHERE", "AS", "ON", "OFF",
518 "IF", "ELSE", "THEN", "FOR", "TO", "AND", "OR", "IS", "NOT", "NULL",
519 "TRUE", "FALSE", "EXISTS", "BETWEEN", "IN", "ALL", "ANY", "LIKE", "ORDER",
520 "GROUP", "BY", "ASC", "DESC", "HAVING", "LIMIT", "OFFSET", "BEGIN", "COMMIT",
521 "ROLLBACK", "SAVEPOINT", "BOOLEAN", "DOUBLE", "CHAR", "CHARACTER", "ARRAY",
522 "INTERVAL", "DATE", "TIME", "TIMESTAMP", "LOCALTIME", "LOCALTIMESTAMP",
523 "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND",
524 "MICROSECOND", "MAX", "MIN", "SUM", "COUNT", "AVG", "DEFAULT", "CURRENT",
525 "ENABLE", "DISABLE", "CALL", "INSTANCE", "PRESERVE", "DO", "DEFINER",
526 "CURRENT_USER", "SQL", "CASCADED", "LOCAL", "CLOSE", "OPEN", "NEXT",
527 "NAME", "COLLATION", "NAMES", "INTEGER", "REAL", "DECIMAL", "TYPE", "BIT",
528 "SMALLINT", "INT", "TINYINT", "NUMERIC", "FLOAT", "BIGINT", "TEXT", "VARCHAR",
529 "PERCENT", "TIES", "EXCEPT", "INTERSECT", "USE", "MERGE", "LOOP", "EXPAND",
530 "VIEWS", "FAST", "FORCE", "KEEP", "PLAN", "OPTIMIZE", "SIMPLE", "FORCED",
531 "HINT", "READ_ONLY", "DATABASE", "DECLARE", "CURSOR", "OF", "RETURNS",
532 "DATEPART", "RETURN", "READONLY", "AT", "PASSWORD", "WITHOUT", "APPLY",
533 "KEEPIDENTITY", "KEEPDEFAULTS", "HOLDLOCK", "IGNORE_CONSTRAINTS", "IGNORE_TRIGGERS",
534 "NOLOCK", "NOWAIT", "PAGLOCK", "READCOMMITTED", "READCOMMITTEDLOCK",
535 "READPAST", "REPEATABLEREAD", "ROWLOCK", "TABLOCK", "TABLOCKX", "UPDLOCK",
536 "XLOCK", "JSON_OBJECT", "JSON_ARRAY", "FIRST_VALUE", "LAST_VALUE", "APPROX_PERCENTILE_CONT",
537 "APPROX_PERCENTILE_DISC", "WITHIN", "OPENDATASOURCE", "FOR_GENERATOR",
538 "BINARY", "ESCAPE", "HIDDEN_", "MOD", "PARTITION", "PARTITIONS", "TOP",
539 "ROW", "ROWS", "UNKNOWN", "XOR", "ALWAYS", "CASCADE", "CHECK", "GENERATED",
540 "NO", "OPTION", "PRIVILEGES", "REFERENCES", "USER", "ROLE", "START",
541 "TRANSACTION", "ACTION", "ALGORITHM", "AUTO", "BLOCKERS", "CLUSTERED",
542 "NONCLUSTERED", "COLLATE", "COLUMNSTORE", "CONTENT", "CONVERT", "YEARS",
543 "MONTHS", "WEEKS", "DAYS", "MINUTES", "DENY", "DETERMINISTIC", "DISTRIBUTION",
544 "DOCUMENT", "DURABILITY", "ENCRYPTED", "END", "FILESTREAM", "FILETABLE",
545 "FILLFACTOR", "FOLLOWING", "HASH", "HEAP", "IDENTITY", "INBOUND", "OUTBOUND",
546 "UNBOUNDED", "INFINITE", "LOGIN", "MASKED", "MAXDOP", "MOVE", "NOCHECK",
547 "NONE", "OBJECT", "ONLINE", "OVER", "PAGE", "PAUSED", "PERIOD", "PERSISTED",
548 "PRECEDING", "RANDOMIZED", "RANGE", "REBUILD", "REPLICATE", "REPLICATION",
549 "RESUMABLE", "ROWGUIDCOL", "SAVE", "SELF", "SPARSE", "SWITCH", "TRAN",
550 "TRANCOUNT", "ZONE", "EXECUTE", "EXEC", "SESSION", "CONNECT", "CONNECTION",
551 "CATALOG", "CONTROL", "CONCAT", "TAKE", "OWNERSHIP", "DEFINITION", "APPLICATION",
552 "ASSEMBLY", "SYMMETRIC", "ASYMMETRIC", "SERVER", "RECEIVE", "CHANGE",
553 "TRACE", "TRACKING", "RESOURCES", "SETTINGS", "STATE", "AVAILABILITY",
554 "CREDENTIAL", "ENDPOINT", "EVENT", "NOTIFICATION", "LINKED", "AUDIT",
555 "DDL", "XML", "IMPERSONATE", "SECURABLES", "AUTHENTICATE", "EXTERNAL",
556 "ACCESS", "ADMINISTER", "BULK", "OPERATIONS", "UNSAFE", "SHUTDOWN", "SCOPED",
557 "CONFIGURATION", "DATASPACE", "SERVICE", "CERTIFICATE", "CONTRACT", "ENCRYPTION",
558 "MASTER", "DATA", "SOURCE", "FILE", "FORMAT", "LIBRARY", "FULLTEXT",
559 "MASK", "UNMASK", "MESSAGE", "REMOTE", "BINDING", "ROUTE", "SECURITY",
560 "POLICY", "AGGREGATE", "QUEUE", "RULE", "SYNONYM", "COLLECTION", "SCRIPT",
561 "KILL", "BACKUP", "LOG", "SHOWPLAN", "SUBSCRIBE", "QUERY", "NOTIFICATIONS",
562 "CHECKPOINT", "SEQUENCE", "ABORT_AFTER_WAIT", "ALLOW_PAGE_LOCKS", "ALLOW_ROW_LOCKS",
563 "ALL_SPARSE_COLUMNS", "BUCKET_COUNT", "COLUMNSTORE_ARCHIVE", "COLUMN_ENCRYPTION_KEY",
564 "COLUMN_SET", "COMPRESSION_DELAY", "DATABASE_DEAULT", "DATA_COMPRESSION",
565 "DATA_CONSISTENCY_CHECK", "ENCRYPTION_TYPE", "SYSTEM_TIME", "SYSTEM_VERSIONING",
566 "TEXTIMAGE_ON", "WAIT_AT_LOW_PRIORITY", "STATISTICS_INCREMENTAL", "STATISTICS_NORECOMPUTE",
567 "ROUND_ROBIN", "SCHEMA_AND_DATA", "SCHEMA_ONLY", "SORT_IN_TEMPDB", "IGNORE_DUP_KEY",
568 "IMPLICIT_TRANSACTIONS", "MAX_DURATION", "MEMORY_OPTIMIZED", "MIGRATION_STATE",
569 "PAD_INDEX", "REMOTE_DATA_ARCHIVE", "FILESTREAM_ON", "FILETABLE_COLLATE_FILENAME",
570 "FILETABLE_DIRECTORY", "FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME", "FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME",
571 "FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME", "FILTER_PREDICATE", "HISTORY_RETENTION_PERIOD",
572 "HISTORY_TABLE", "LOCK_ESCALATION", "DROP_EXISTING", "ROW_NUMBER", "FETCH",
573 "FIRST", "ONLY", "MONEY", "SMALLMONEY", "DATETIMEOFFSET", "DATETIME",
574 "DATETIME2", "SMALLDATETIME", "NCHAR", "NVARCHAR", "NTEXT", "VARBINARY",
575 "IMAGE", "SQL_VARIANT", "UNIQUEIDENTIFIER", "HIERARCHYID", "GEOMETRY",
576 "GEOGRAPHY", "OUTPUT", "INSERTED", "DELETED", "ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS",
577 "ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES", "DISABLE_BATCH_MODE_ADAPTIVE_JOINS",
578 "DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK", "DISABLE_DEFERRED_COMPILATION_TV",
579 "DISABLE_INTERLEAVED_EXECUTION_TVF", "DISABLE_OPTIMIZED_NESTED_LOOP",
580 "DISABLE_OPTIMIZER_ROWGOAL", "DISABLE_PARAMETER_SNIFFING", "DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK",
581 "DISABLE_TSQL_SCALAR_UDF_INLINING", "DISALLOW_BATCH_MODE", "ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS",
582 "ENABLE_QUERY_OPTIMIZER_HOTFIXES", "FORCE_DEFAULT_CARDINALITY_ESTIMATION",
583 "FORCE_LEGACY_CARDINALITY_ESTIMATION", "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n",
584 "QUERY_PLAN_PROFILE", "EXTERNALPUSHDOWN", "SCALEOUTEXECUTION", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX",
585 "KEEPFIXED", "MAX_GRANT_PERCENT", "MIN_GRANT_PERCENT", "MAXRECURSION",
586 "NO_PERFORMANCE_SPOOL", "PARAMETERIZATION", "QUERYTRACEON", "RECOMPILE",
587 "ROBUST", "OPTIMIZE_FOR_SEQUENTIAL_KEY", "DATA_DELETION", "FILTER_COLUMN",
588 "RETENTION_PERIOD", "CONTAINMENT", "PARTIAL", "FILENAME", "SIZE", "MAXSIZE",
589 "FILEGROWTH", "UNLIMITED", "KB", "MB", "GB", "TB", "CONTAINS", "MEMORY_OPTIMIZED_DATA",
590 "FILEGROUP", "NON_TRANSACTED_ACCESS", "DB_CHAINING", "TRUSTWORTHY", "FORWARD_ONLY",
591 "SCROLL", "STATIC", "KEYSET", "DYNAMIC", "FAST_FORWARD", "SCROLL_LOCKS",
592 "OPTIMISTIC", "TYPE_WARNING", "SCHEMABINDING", "CALLER", "INPUT", "CALLED",
593 "VARYING", "OUT", "OWNER", "ATOMIC", "LANGUAGE", "LEVEL", "ISOLATION",
594 "SNAPSHOT", "REPEATABLE", "READ", "SERIALIZABLE", "NATIVE_COMPILATION",
595 "VIEW_METADATA", "AFTER", "INSTEAD", "APPEND", "INCREMENT", "CYCLE",
596 "CACHE", "MINVALUE", "MAXVALUE", "RESTART", "LOB_COMPACTION", "COMPRESS_ALL_ROW_GROUPS",
597 "REORGANIZE", "RESUME", "PAUSE", "ABORT", "INCLUDE", "DISTRIBUTED", "MARK",
598 "WORK", "REMOVE", "AUTOGROW_SINGLE_FILE", "AUTOGROW_ALL_FILES", "READWRITE",
599 "READ_WRITE", "MODIFY", "ACCELERATED_DATABASE_RECOVERY", "PERSISTENT_VERSION_STORE_FILEGROUP",
600 "IMMEDIATE", "NO_WAIT", "TARGET_RECOVERY_TIME", "SECONDS", "HONOR_BROKER_PRIORITY",
601 "ERROR_BROKER_CONVERSATIONS", "NEW_BROKER", "DISABLE_BROKER", "ENABLE_BROKER",
602 "MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT", "READ_COMMITTED_SNAPSHOT", "ALLOW_SNAPSHOT_ISOLATION",
603 "RECURSIVE_TRIGGERS", "QUOTED_IDENTIFIER", "NUMERIC_ROUNDABORT", "CONCAT_NULL_YIELDS_NULL",
604 "COMPATIBILITY_LEVEL", "ARITHABORT", "ANSI_WARNINGS", "ANSI_PADDING",
605 "ANSI_NULLS", "ANSI_NULL_DEFAULT", "PAGE_VERIFY", "CHECKSUM", "TORN_PAGE_DETECTION",
606 "BULK_LOGGED", "RECOVERY", "TOTAL_EXECUTION_CPU_TIME_MS", "TOTAL_COMPILE_CPU_TIME_MS",
607 "STALE_CAPTURE_POLICY_THRESHOLD", "EXECUTION_COUNT", "QUERY_CAPTURE_POLICY",
608 "WAIT_STATS_CAPTURE_MODE", "MAX_PLANS_PER_QUERY", "QUERY_CAPTURE_MODE",
609 "SIZE_BASED_CLEANUP_MODE", "INTERVAL_LENGTH_MINUTES", "MAX_STORAGE_SIZE_MB",
610 "DATA_FLUSH_INTERVAL_SECONDS", "CLEANUP_POLICY", "CUSTOM", "STALE_QUERY_THRESHOLD_DAYS",
611 "OPERATION_MODE", "QUERY_STORE", "CURSOR_DEFAULT", "GLOBAL", "CURSOR_CLOSE_ON_COMMIT",
612 "HOURS", "CHANGE_RETENTION", "AUTO_CLEANUP", "CHANGE_TRACKING", "AUTOMATIC_TUNING",
613 "FORCE_LAST_GOOD_PLAN", "AUTO_UPDATE_STATISTICS_ASYNC", "AUTO_UPDATE_STATISTICS",
614 "AUTO_SHRINK", "AUTO_CREATE_STATISTICS", "INCREMENTAL", "AUTO_CLOSE",
615 "DATA_RETENTION", "TEMPORAL_HISTORY_RETENTION", "EDITION", "MIXED_PAGE_ALLOCATION",
616 "DISABLED", "ALLOWED", "HADR", "MULTI_USER", "RESTRICTED_USER", "SINGLE_USER",
617 "OFFLINE", "EMERGENCY", "SUSPEND", "DATE_CORRELATION_OPTIMIZATION", "ELASTIC_POOL",
618 "SERVICE_OBJECTIVE", "DATABASE_NAME", "ALLOW_CONNECTIONS", "GEO", "NAMED",
619 "DATEFIRST", "BACKUP_STORAGE_REDUNDANCY", "FORCE_FAILOVER_ALLOW_DATA_LOSS",
620 "SECONDARY", "FAILOVER", "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE",
621 "INLINE", "NESTED_TRIGGERS", "TRANSFORM_NOISE_WORDS", "TWO_DIGIT_YEAR_CUTOFF",
622 "PERSISTENT_LOG_BUFFER", "DIRECTORY_NAME", "DATEFORMAT", "DELAYED_DURABILITY",
623 "AUTHORIZATION", "TRANSFER", "EXPLAIN", "WITH_RECOMMENDATIONS", "BATCH_SIZE",
624 "SETUSER", "NORESET", "DEFAULT_SCHEMA", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS",
625 "OLD_PASSWORD", "PROVIDER", "SID", "UNCOMMITTED", "COMMITTED", "STOPLIST",
626 "SEARCH", "PROPERTY", "LIST", "SEND", "MEMBER", "HASHED", "MUST_CHANGE",
627 "DEFAULT_DATABASE", "CHECK_EXPIRATION", "CHECK_POLICY", "WINDOWS", "UNLOCK",
628 "REVERT", "COOKIE", "BROWSE", "RAW", "XMLDATA", "XMLSCHEMA", "ELEMENTS",
629 "XSINIL", "ABSENT", "EXPLICIT", "PATH", "BASE64", "ROOT", "JSON", "INCLUDE_NULL_VALUES",
630 "WITHOUT_ARRAY_WRAPPER", "XMLNAMESPACES", "STATISTICS", "FULLSCAN", "SAMPLE",
631 "RESAMPLE", "NORECOMPUTE", "AUTO_DROP", "PERSIST_SAMPLE_PERCENT", "OPENJSON",
632 "OPENROWSET", "TRY_CAST", "TRY_CONVERT", "IDENTIFIER_", "DELIMITED_IDENTIFIER_",
633 "STRING_", "NUMBER_", "INT_NUM_", "FLOAT_NUM_", "DECIMAL_NUM_", "HEX_DIGIT_",
634 "BIT_NUM_", "NCHAR_TEXT", "RESPECT", "IGNORE", "NULLS"
635 };
636 }
637 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
638 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
639
640
641
642
643 @Deprecated
644 public static final String[] tokenNames;
645 static {
646 tokenNames = new String[_SYMBOLIC_NAMES.length];
647 for (int i = 0; i < tokenNames.length; i++) {
648 tokenNames[i] = VOCABULARY.getLiteralName(i);
649 if (tokenNames[i] == null) {
650 tokenNames[i] = VOCABULARY.getSymbolicName(i);
651 }
652
653 if (tokenNames[i] == null) {
654 tokenNames[i] = "<INVALID>";
655 }
656 }
657 }
658
659 @Override
660 @Deprecated
661 public String[] getTokenNames() {
662 return tokenNames;
663 }
664
665 @Override
666
667 public Vocabulary getVocabulary() {
668 return VOCABULARY;
669 }
670
671 @Override
672 public String getGrammarFileName() { return "SQLServerStatement.g4"; }
673
674 @Override
675 public String[] getRuleNames() { return ruleNames; }
676
677 @Override
678 public String getSerializedATN() { return _serializedATN; }
679
680 @Override
681 public ATN getATN() { return _ATN; }
682
683 public SQLServerStatementParser(TokenStream input) {
684 super(input);
685 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
686 }
687
688 public static class ExecuteContext extends ParserRuleContext {
689 public SelectContext select() {
690 return getRuleContext(SelectContext.class,0);
691 }
692 public InsertContext insert() {
693 return getRuleContext(InsertContext.class,0);
694 }
695 public UpdateContext update() {
696 return getRuleContext(UpdateContext.class,0);
697 }
698 public DeleteContext delete() {
699 return getRuleContext(DeleteContext.class,0);
700 }
701 public CreateIndexContext createIndex() {
702 return getRuleContext(CreateIndexContext.class,0);
703 }
704 public AlterIndexContext alterIndex() {
705 return getRuleContext(AlterIndexContext.class,0);
706 }
707 public DropIndexContext dropIndex() {
708 return getRuleContext(DropIndexContext.class,0);
709 }
710 public CreateTableContext createTable() {
711 return getRuleContext(CreateTableContext.class,0);
712 }
713 public CreateDatabaseContext createDatabase() {
714 return getRuleContext(CreateDatabaseContext.class,0);
715 }
716 public CreateProcedureContext createProcedure() {
717 return getRuleContext(CreateProcedureContext.class,0);
718 }
719 public CreateViewContext createView() {
720 return getRuleContext(CreateViewContext.class,0);
721 }
722 public CreateTriggerContext createTrigger() {
723 return getRuleContext(CreateTriggerContext.class,0);
724 }
725 public CreateSequenceContext createSequence() {
726 return getRuleContext(CreateSequenceContext.class,0);
727 }
728 public CreateServiceContext createService() {
729 return getRuleContext(CreateServiceContext.class,0);
730 }
731 public CreateSchemaContext createSchema() {
732 return getRuleContext(CreateSchemaContext.class,0);
733 }
734 public AlterTableContext alterTable() {
735 return getRuleContext(AlterTableContext.class,0);
736 }
737 public AlterTriggerContext alterTrigger() {
738 return getRuleContext(AlterTriggerContext.class,0);
739 }
740 public AlterSequenceContext alterSequence() {
741 return getRuleContext(AlterSequenceContext.class,0);
742 }
743 public AlterDatabaseContext alterDatabase() {
744 return getRuleContext(AlterDatabaseContext.class,0);
745 }
746 public AlterServiceContext alterService() {
747 return getRuleContext(AlterServiceContext.class,0);
748 }
749 public AlterSchemaContext alterSchema() {
750 return getRuleContext(AlterSchemaContext.class,0);
751 }
752 public AlterViewContext alterView() {
753 return getRuleContext(AlterViewContext.class,0);
754 }
755 public DropTableContext dropTable() {
756 return getRuleContext(DropTableContext.class,0);
757 }
758 public DropDatabaseContext dropDatabase() {
759 return getRuleContext(DropDatabaseContext.class,0);
760 }
761 public DropFunctionContext dropFunction() {
762 return getRuleContext(DropFunctionContext.class,0);
763 }
764 public DropProcedureContext dropProcedure() {
765 return getRuleContext(DropProcedureContext.class,0);
766 }
767 public DropViewContext dropView() {
768 return getRuleContext(DropViewContext.class,0);
769 }
770 public DropTriggerContext dropTrigger() {
771 return getRuleContext(DropTriggerContext.class,0);
772 }
773 public DropSequenceContext dropSequence() {
774 return getRuleContext(DropSequenceContext.class,0);
775 }
776 public DropServiceContext dropService() {
777 return getRuleContext(DropServiceContext.class,0);
778 }
779 public DropSchemaContext dropSchema() {
780 return getRuleContext(DropSchemaContext.class,0);
781 }
782 public TruncateTableContext truncateTable() {
783 return getRuleContext(TruncateTableContext.class,0);
784 }
785 public CreateFunctionContext createFunction() {
786 return getRuleContext(CreateFunctionContext.class,0);
787 }
788 public SetTransactionContext setTransaction() {
789 return getRuleContext(SetTransactionContext.class,0);
790 }
791 public BeginTransactionContext beginTransaction() {
792 return getRuleContext(BeginTransactionContext.class,0);
793 }
794 public BeginDistributedTransactionContext beginDistributedTransaction() {
795 return getRuleContext(BeginDistributedTransactionContext.class,0);
796 }
797 public SetImplicitTransactionsContext setImplicitTransactions() {
798 return getRuleContext(SetImplicitTransactionsContext.class,0);
799 }
800 public CommitContext commit() {
801 return getRuleContext(CommitContext.class,0);
802 }
803 public CommitWorkContext commitWork() {
804 return getRuleContext(CommitWorkContext.class,0);
805 }
806 public RollbackContext rollback() {
807 return getRuleContext(RollbackContext.class,0);
808 }
809 public RollbackWorkContext rollbackWork() {
810 return getRuleContext(RollbackWorkContext.class,0);
811 }
812 public SavepointContext savepoint() {
813 return getRuleContext(SavepointContext.class,0);
814 }
815 public GrantContext grant() {
816 return getRuleContext(GrantContext.class,0);
817 }
818 public RevokeContext revoke() {
819 return getRuleContext(RevokeContext.class,0);
820 }
821 public DenyContext deny() {
822 return getRuleContext(DenyContext.class,0);
823 }
824 public CreateUserContext createUser() {
825 return getRuleContext(CreateUserContext.class,0);
826 }
827 public DropUserContext dropUser() {
828 return getRuleContext(DropUserContext.class,0);
829 }
830 public AlterUserContext alterUser() {
831 return getRuleContext(AlterUserContext.class,0);
832 }
833 public CreateRoleContext createRole() {
834 return getRuleContext(CreateRoleContext.class,0);
835 }
836 public DropRoleContext dropRole() {
837 return getRuleContext(DropRoleContext.class,0);
838 }
839 public AlterRoleContext alterRole() {
840 return getRuleContext(AlterRoleContext.class,0);
841 }
842 public CreateLoginContext createLogin() {
843 return getRuleContext(CreateLoginContext.class,0);
844 }
845 public DropLoginContext dropLogin() {
846 return getRuleContext(DropLoginContext.class,0);
847 }
848 public AlterLoginContext alterLogin() {
849 return getRuleContext(AlterLoginContext.class,0);
850 }
851 public CallContext call() {
852 return getRuleContext(CallContext.class,0);
853 }
854 public ExplainContext explain() {
855 return getRuleContext(ExplainContext.class,0);
856 }
857 public SetUserContext setUser() {
858 return getRuleContext(SetUserContext.class,0);
859 }
860 public RevertContext revert() {
861 return getRuleContext(RevertContext.class,0);
862 }
863 public UpdateStatisticsContext updateStatistics() {
864 return getRuleContext(UpdateStatisticsContext.class,0);
865 }
866 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
867 public ExecuteContext(ParserRuleContext parent, int invokingState) {
868 super(parent, invokingState);
869 }
870 @Override public int getRuleIndex() { return RULE_execute; }
871 @Override
872 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
873 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecute(this);
874 else return visitor.visitChildren(this);
875 }
876 }
877
878 public final ExecuteContext execute() throws RecognitionException {
879 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
880 enterRule(_localctx, 0, RULE_execute);
881 int _la;
882 try {
883 enterOuterAlt(_localctx, 1);
884 {
885 setState(1069);
886 _errHandler.sync(this);
887 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
888 case 1:
889 {
890 setState(1010);
891 select();
892 }
893 break;
894 case 2:
895 {
896 setState(1011);
897 insert();
898 }
899 break;
900 case 3:
901 {
902 setState(1012);
903 update();
904 }
905 break;
906 case 4:
907 {
908 setState(1013);
909 delete();
910 }
911 break;
912 case 5:
913 {
914 setState(1014);
915 createIndex();
916 }
917 break;
918 case 6:
919 {
920 setState(1015);
921 alterIndex();
922 }
923 break;
924 case 7:
925 {
926 setState(1016);
927 dropIndex();
928 }
929 break;
930 case 8:
931 {
932 setState(1017);
933 createTable();
934 }
935 break;
936 case 9:
937 {
938 setState(1018);
939 createDatabase();
940 }
941 break;
942 case 10:
943 {
944 setState(1019);
945 createProcedure();
946 }
947 break;
948 case 11:
949 {
950 setState(1020);
951 createView();
952 }
953 break;
954 case 12:
955 {
956 setState(1021);
957 createTrigger();
958 }
959 break;
960 case 13:
961 {
962 setState(1022);
963 createSequence();
964 }
965 break;
966 case 14:
967 {
968 setState(1023);
969 createService();
970 }
971 break;
972 case 15:
973 {
974 setState(1024);
975 createSchema();
976 }
977 break;
978 case 16:
979 {
980 setState(1025);
981 alterTable();
982 }
983 break;
984 case 17:
985 {
986 setState(1026);
987 alterTrigger();
988 }
989 break;
990 case 18:
991 {
992 setState(1027);
993 alterSequence();
994 }
995 break;
996 case 19:
997 {
998 setState(1028);
999 alterDatabase();
1000 }
1001 break;
1002 case 20:
1003 {
1004 setState(1029);
1005 alterService();
1006 }
1007 break;
1008 case 21:
1009 {
1010 setState(1030);
1011 alterSchema();
1012 }
1013 break;
1014 case 22:
1015 {
1016 setState(1031);
1017 alterView();
1018 }
1019 break;
1020 case 23:
1021 {
1022 setState(1032);
1023 dropTable();
1024 }
1025 break;
1026 case 24:
1027 {
1028 setState(1033);
1029 dropDatabase();
1030 }
1031 break;
1032 case 25:
1033 {
1034 setState(1034);
1035 dropFunction();
1036 }
1037 break;
1038 case 26:
1039 {
1040 setState(1035);
1041 dropProcedure();
1042 }
1043 break;
1044 case 27:
1045 {
1046 setState(1036);
1047 dropView();
1048 }
1049 break;
1050 case 28:
1051 {
1052 setState(1037);
1053 dropTrigger();
1054 }
1055 break;
1056 case 29:
1057 {
1058 setState(1038);
1059 dropSequence();
1060 }
1061 break;
1062 case 30:
1063 {
1064 setState(1039);
1065 dropService();
1066 }
1067 break;
1068 case 31:
1069 {
1070 setState(1040);
1071 dropSchema();
1072 }
1073 break;
1074 case 32:
1075 {
1076 setState(1041);
1077 truncateTable();
1078 }
1079 break;
1080 case 33:
1081 {
1082 setState(1042);
1083 createFunction();
1084 }
1085 break;
1086 case 34:
1087 {
1088 setState(1043);
1089 setTransaction();
1090 }
1091 break;
1092 case 35:
1093 {
1094 setState(1044);
1095 beginTransaction();
1096 }
1097 break;
1098 case 36:
1099 {
1100 setState(1045);
1101 beginDistributedTransaction();
1102 }
1103 break;
1104 case 37:
1105 {
1106 setState(1046);
1107 setImplicitTransactions();
1108 }
1109 break;
1110 case 38:
1111 {
1112 setState(1047);
1113 commit();
1114 }
1115 break;
1116 case 39:
1117 {
1118 setState(1048);
1119 commitWork();
1120 }
1121 break;
1122 case 40:
1123 {
1124 setState(1049);
1125 rollback();
1126 }
1127 break;
1128 case 41:
1129 {
1130 setState(1050);
1131 rollbackWork();
1132 }
1133 break;
1134 case 42:
1135 {
1136 setState(1051);
1137 savepoint();
1138 }
1139 break;
1140 case 43:
1141 {
1142 setState(1052);
1143 grant();
1144 }
1145 break;
1146 case 44:
1147 {
1148 setState(1053);
1149 revoke();
1150 }
1151 break;
1152 case 45:
1153 {
1154 setState(1054);
1155 deny();
1156 }
1157 break;
1158 case 46:
1159 {
1160 setState(1055);
1161 createUser();
1162 }
1163 break;
1164 case 47:
1165 {
1166 setState(1056);
1167 dropUser();
1168 }
1169 break;
1170 case 48:
1171 {
1172 setState(1057);
1173 alterUser();
1174 }
1175 break;
1176 case 49:
1177 {
1178 setState(1058);
1179 createRole();
1180 }
1181 break;
1182 case 50:
1183 {
1184 setState(1059);
1185 dropRole();
1186 }
1187 break;
1188 case 51:
1189 {
1190 setState(1060);
1191 alterRole();
1192 }
1193 break;
1194 case 52:
1195 {
1196 setState(1061);
1197 createLogin();
1198 }
1199 break;
1200 case 53:
1201 {
1202 setState(1062);
1203 dropLogin();
1204 }
1205 break;
1206 case 54:
1207 {
1208 setState(1063);
1209 alterLogin();
1210 }
1211 break;
1212 case 55:
1213 {
1214 setState(1064);
1215 call();
1216 }
1217 break;
1218 case 56:
1219 {
1220 setState(1065);
1221 explain();
1222 }
1223 break;
1224 case 57:
1225 {
1226 setState(1066);
1227 setUser();
1228 }
1229 break;
1230 case 58:
1231 {
1232 setState(1067);
1233 revert();
1234 }
1235 break;
1236 case 59:
1237 {
1238 setState(1068);
1239 updateStatistics();
1240 }
1241 break;
1242 }
1243 setState(1072);
1244 _errHandler.sync(this);
1245 _la = _input.LA(1);
1246 if (_la==SEMI_) {
1247 {
1248 setState(1071);
1249 match(SEMI_);
1250 }
1251 }
1252
1253 }
1254 }
1255 catch (RecognitionException re) {
1256 _localctx.exception = re;
1257 _errHandler.reportError(this, re);
1258 _errHandler.recover(this, re);
1259 }
1260 finally {
1261 exitRule();
1262 }
1263 return _localctx;
1264 }
1265
1266 public static class SetTransactionContext extends ParserRuleContext {
1267 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1268 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1269 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
1270 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
1271 public IsolationLevelContext isolationLevel() {
1272 return getRuleContext(IsolationLevelContext.class,0);
1273 }
1274 public SetTransactionContext(ParserRuleContext parent, int invokingState) {
1275 super(parent, invokingState);
1276 }
1277 @Override public int getRuleIndex() { return RULE_setTransaction; }
1278 @Override
1279 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1280 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetTransaction(this);
1281 else return visitor.visitChildren(this);
1282 }
1283 }
1284
1285 public final SetTransactionContext setTransaction() throws RecognitionException {
1286 SetTransactionContext _localctx = new SetTransactionContext(_ctx, getState());
1287 enterRule(_localctx, 2, RULE_setTransaction);
1288 try {
1289 enterOuterAlt(_localctx, 1);
1290 {
1291 setState(1074);
1292 match(SET);
1293 setState(1075);
1294 match(TRANSACTION);
1295 setState(1076);
1296 match(ISOLATION);
1297 setState(1077);
1298 match(LEVEL);
1299 setState(1078);
1300 isolationLevel();
1301 }
1302 }
1303 catch (RecognitionException re) {
1304 _localctx.exception = re;
1305 _errHandler.reportError(this, re);
1306 _errHandler.recover(this, re);
1307 }
1308 finally {
1309 exitRule();
1310 }
1311 return _localctx;
1312 }
1313
1314 public static class IsolationLevelContext extends ParserRuleContext {
1315 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
1316 public TerminalNode UNCOMMITTED() { return getToken(SQLServerStatementParser.UNCOMMITTED, 0); }
1317 public TerminalNode COMMITTED() { return getToken(SQLServerStatementParser.COMMITTED, 0); }
1318 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
1319 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
1320 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
1321 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
1322 super(parent, invokingState);
1323 }
1324 @Override public int getRuleIndex() { return RULE_isolationLevel; }
1325 @Override
1326 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1327 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
1328 else return visitor.visitChildren(this);
1329 }
1330 }
1331
1332 public final IsolationLevelContext isolationLevel() throws RecognitionException {
1333 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
1334 enterRule(_localctx, 4, RULE_isolationLevel);
1335 try {
1336 setState(1088);
1337 _errHandler.sync(this);
1338 switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
1339 case 1:
1340 enterOuterAlt(_localctx, 1);
1341 {
1342 setState(1080);
1343 match(READ);
1344 setState(1081);
1345 match(UNCOMMITTED);
1346 }
1347 break;
1348 case 2:
1349 enterOuterAlt(_localctx, 2);
1350 {
1351 setState(1082);
1352 match(READ);
1353 setState(1083);
1354 match(COMMITTED);
1355 }
1356 break;
1357 case 3:
1358 enterOuterAlt(_localctx, 3);
1359 {
1360 setState(1084);
1361 match(REPEATABLE);
1362 setState(1085);
1363 match(READ);
1364 }
1365 break;
1366 case 4:
1367 enterOuterAlt(_localctx, 4);
1368 {
1369 setState(1086);
1370 match(SNAPSHOT);
1371 }
1372 break;
1373 case 5:
1374 enterOuterAlt(_localctx, 5);
1375 {
1376 setState(1087);
1377 match(SERIALIZABLE);
1378 }
1379 break;
1380 }
1381 }
1382 catch (RecognitionException re) {
1383 _localctx.exception = re;
1384 _errHandler.reportError(this, re);
1385 _errHandler.recover(this, re);
1386 }
1387 finally {
1388 exitRule();
1389 }
1390 return _localctx;
1391 }
1392
1393 public static class SetImplicitTransactionsContext extends ParserRuleContext {
1394 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1395 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
1396 public ImplicitTransactionsValueContext implicitTransactionsValue() {
1397 return getRuleContext(ImplicitTransactionsValueContext.class,0);
1398 }
1399 public SetImplicitTransactionsContext(ParserRuleContext parent, int invokingState) {
1400 super(parent, invokingState);
1401 }
1402 @Override public int getRuleIndex() { return RULE_setImplicitTransactions; }
1403 @Override
1404 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1405 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetImplicitTransactions(this);
1406 else return visitor.visitChildren(this);
1407 }
1408 }
1409
1410 public final SetImplicitTransactionsContext setImplicitTransactions() throws RecognitionException {
1411 SetImplicitTransactionsContext _localctx = new SetImplicitTransactionsContext(_ctx, getState());
1412 enterRule(_localctx, 6, RULE_setImplicitTransactions);
1413 try {
1414 enterOuterAlt(_localctx, 1);
1415 {
1416 setState(1090);
1417 match(SET);
1418 setState(1091);
1419 match(IMPLICIT_TRANSACTIONS);
1420 setState(1092);
1421 implicitTransactionsValue();
1422 }
1423 }
1424 catch (RecognitionException re) {
1425 _localctx.exception = re;
1426 _errHandler.reportError(this, re);
1427 _errHandler.recover(this, re);
1428 }
1429 finally {
1430 exitRule();
1431 }
1432 return _localctx;
1433 }
1434
1435 public static class ImplicitTransactionsValueContext extends ParserRuleContext {
1436 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1437 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1438 public ImplicitTransactionsValueContext(ParserRuleContext parent, int invokingState) {
1439 super(parent, invokingState);
1440 }
1441 @Override public int getRuleIndex() { return RULE_implicitTransactionsValue; }
1442 @Override
1443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitImplicitTransactionsValue(this);
1445 else return visitor.visitChildren(this);
1446 }
1447 }
1448
1449 public final ImplicitTransactionsValueContext implicitTransactionsValue() throws RecognitionException {
1450 ImplicitTransactionsValueContext _localctx = new ImplicitTransactionsValueContext(_ctx, getState());
1451 enterRule(_localctx, 8, RULE_implicitTransactionsValue);
1452 int _la;
1453 try {
1454 enterOuterAlt(_localctx, 1);
1455 {
1456 setState(1094);
1457 _la = _input.LA(1);
1458 if ( !(_la==ON || _la==OFF) ) {
1459 _errHandler.recoverInline(this);
1460 }
1461 else {
1462 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1463 _errHandler.reportMatch(this);
1464 consume();
1465 }
1466 }
1467 }
1468 catch (RecognitionException re) {
1469 _localctx.exception = re;
1470 _errHandler.reportError(this, re);
1471 _errHandler.recover(this, re);
1472 }
1473 finally {
1474 exitRule();
1475 }
1476 return _localctx;
1477 }
1478
1479 public static class BeginTransactionContext extends ParserRuleContext {
1480 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1481 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1482 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1483 public TransactionNameContext transactionName() {
1484 return getRuleContext(TransactionNameContext.class,0);
1485 }
1486 public TransactionVariableNameContext transactionVariableName() {
1487 return getRuleContext(TransactionVariableNameContext.class,0);
1488 }
1489 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1490 public TerminalNode MARK() { return getToken(SQLServerStatementParser.MARK, 0); }
1491 public StringLiteralsContext stringLiterals() {
1492 return getRuleContext(StringLiteralsContext.class,0);
1493 }
1494 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
1495 public BeginTransactionContext(ParserRuleContext parent, int invokingState) {
1496 super(parent, invokingState);
1497 }
1498 @Override public int getRuleIndex() { return RULE_beginTransaction; }
1499 @Override
1500 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1501 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginTransaction(this);
1502 else return visitor.visitChildren(this);
1503 }
1504 }
1505
1506 public final BeginTransactionContext beginTransaction() throws RecognitionException {
1507 BeginTransactionContext _localctx = new BeginTransactionContext(_ctx, getState());
1508 enterRule(_localctx, 10, RULE_beginTransaction);
1509 int _la;
1510 try {
1511 enterOuterAlt(_localctx, 1);
1512 {
1513 setState(1096);
1514 match(BEGIN);
1515 setState(1097);
1516 _la = _input.LA(1);
1517 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1518 _errHandler.recoverInline(this);
1519 }
1520 else {
1521 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1522 _errHandler.reportMatch(this);
1523 consume();
1524 }
1525 setState(1110);
1526 _errHandler.sync(this);
1527 _la = _input.LA(1);
1528 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (RIGHT - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (TOP - 248)) | (1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (USER - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANDOMIZED - 312)) | (1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (DATA - 376)) | (1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 440)) | (1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
1529 {
1530 setState(1100);
1531 _errHandler.sync(this);
1532 switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
1533 case 1:
1534 {
1535 setState(1098);
1536 transactionName();
1537 }
1538 break;
1539 case 2:
1540 {
1541 setState(1099);
1542 transactionVariableName();
1543 }
1544 break;
1545 }
1546 setState(1108);
1547 _errHandler.sync(this);
1548 _la = _input.LA(1);
1549 if (_la==WITH) {
1550 {
1551 setState(1102);
1552 match(WITH);
1553 setState(1103);
1554 match(MARK);
1555 setState(1106);
1556 _errHandler.sync(this);
1557 switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
1558 case 1:
1559 {
1560 setState(1104);
1561 stringLiterals();
1562 }
1563 break;
1564 case 2:
1565 {
1566 setState(1105);
1567 match(NCHAR_TEXT);
1568 }
1569 break;
1570 }
1571 }
1572 }
1573
1574 }
1575 }
1576
1577 }
1578 }
1579 catch (RecognitionException re) {
1580 _localctx.exception = re;
1581 _errHandler.reportError(this, re);
1582 _errHandler.recover(this, re);
1583 }
1584 finally {
1585 exitRule();
1586 }
1587 return _localctx;
1588 }
1589
1590 public static class BeginDistributedTransactionContext extends ParserRuleContext {
1591 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1592 public TerminalNode DISTRIBUTED() { return getToken(SQLServerStatementParser.DISTRIBUTED, 0); }
1593 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1594 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1595 public TransactionNameContext transactionName() {
1596 return getRuleContext(TransactionNameContext.class,0);
1597 }
1598 public TransactionVariableNameContext transactionVariableName() {
1599 return getRuleContext(TransactionVariableNameContext.class,0);
1600 }
1601 public BeginDistributedTransactionContext(ParserRuleContext parent, int invokingState) {
1602 super(parent, invokingState);
1603 }
1604 @Override public int getRuleIndex() { return RULE_beginDistributedTransaction; }
1605 @Override
1606 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1607 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginDistributedTransaction(this);
1608 else return visitor.visitChildren(this);
1609 }
1610 }
1611
1612 public final BeginDistributedTransactionContext beginDistributedTransaction() throws RecognitionException {
1613 BeginDistributedTransactionContext _localctx = new BeginDistributedTransactionContext(_ctx, getState());
1614 enterRule(_localctx, 12, RULE_beginDistributedTransaction);
1615 int _la;
1616 try {
1617 enterOuterAlt(_localctx, 1);
1618 {
1619 setState(1112);
1620 match(BEGIN);
1621 setState(1113);
1622 match(DISTRIBUTED);
1623 setState(1114);
1624 _la = _input.LA(1);
1625 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1626 _errHandler.recoverInline(this);
1627 }
1628 else {
1629 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1630 _errHandler.reportMatch(this);
1631 consume();
1632 }
1633 setState(1117);
1634 _errHandler.sync(this);
1635 switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
1636 case 1:
1637 {
1638 setState(1115);
1639 transactionName();
1640 }
1641 break;
1642 case 2:
1643 {
1644 setState(1116);
1645 transactionVariableName();
1646 }
1647 break;
1648 }
1649 }
1650 }
1651 catch (RecognitionException re) {
1652 _localctx.exception = re;
1653 _errHandler.reportError(this, re);
1654 _errHandler.recover(this, re);
1655 }
1656 finally {
1657 exitRule();
1658 }
1659 return _localctx;
1660 }
1661
1662 public static class CommitContext extends ParserRuleContext {
1663 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1664 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1665 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
1666 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
1667 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
1668 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
1669 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1670 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1671 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1672 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1673 public TransactionNameContext transactionName() {
1674 return getRuleContext(TransactionNameContext.class,0);
1675 }
1676 public TransactionVariableNameContext transactionVariableName() {
1677 return getRuleContext(TransactionVariableNameContext.class,0);
1678 }
1679 public CommitContext(ParserRuleContext parent, int invokingState) {
1680 super(parent, invokingState);
1681 }
1682 @Override public int getRuleIndex() { return RULE_commit; }
1683 @Override
1684 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1685 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommit(this);
1686 else return visitor.visitChildren(this);
1687 }
1688 }
1689
1690 public final CommitContext commit() throws RecognitionException {
1691 CommitContext _localctx = new CommitContext(_ctx, getState());
1692 enterRule(_localctx, 14, RULE_commit);
1693 int _la;
1694 try {
1695 enterOuterAlt(_localctx, 1);
1696 {
1697 setState(1119);
1698 match(COMMIT);
1699 setState(1125);
1700 _errHandler.sync(this);
1701 _la = _input.LA(1);
1702 if (_la==TRANSACTION || _la==TRAN) {
1703 {
1704 setState(1120);
1705 _la = _input.LA(1);
1706 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1707 _errHandler.recoverInline(this);
1708 }
1709 else {
1710 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1711 _errHandler.reportMatch(this);
1712 consume();
1713 }
1714 setState(1123);
1715 _errHandler.sync(this);
1716 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
1717 case 1:
1718 {
1719 setState(1121);
1720 transactionName();
1721 }
1722 break;
1723 case 2:
1724 {
1725 setState(1122);
1726 transactionVariableName();
1727 }
1728 break;
1729 }
1730 }
1731 }
1732
1733 setState(1133);
1734 _errHandler.sync(this);
1735 _la = _input.LA(1);
1736 if (_la==WITH) {
1737 {
1738 setState(1127);
1739 match(WITH);
1740 setState(1128);
1741 match(LP_);
1742 setState(1129);
1743 match(DELAYED_DURABILITY);
1744 setState(1130);
1745 match(EQ_);
1746 setState(1131);
1747 _la = _input.LA(1);
1748 if ( !(_la==ON || _la==OFF) ) {
1749 _errHandler.recoverInline(this);
1750 }
1751 else {
1752 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1753 _errHandler.reportMatch(this);
1754 consume();
1755 }
1756 setState(1132);
1757 match(RP_);
1758 }
1759 }
1760
1761 }
1762 }
1763 catch (RecognitionException re) {
1764 _localctx.exception = re;
1765 _errHandler.reportError(this, re);
1766 _errHandler.recover(this, re);
1767 }
1768 finally {
1769 exitRule();
1770 }
1771 return _localctx;
1772 }
1773
1774 public static class CommitWorkContext extends ParserRuleContext {
1775 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1776 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1777 public CommitWorkContext(ParserRuleContext parent, int invokingState) {
1778 super(parent, invokingState);
1779 }
1780 @Override public int getRuleIndex() { return RULE_commitWork; }
1781 @Override
1782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1783 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommitWork(this);
1784 else return visitor.visitChildren(this);
1785 }
1786 }
1787
1788 public final CommitWorkContext commitWork() throws RecognitionException {
1789 CommitWorkContext _localctx = new CommitWorkContext(_ctx, getState());
1790 enterRule(_localctx, 16, RULE_commitWork);
1791 int _la;
1792 try {
1793 enterOuterAlt(_localctx, 1);
1794 {
1795 setState(1135);
1796 match(COMMIT);
1797 setState(1137);
1798 _errHandler.sync(this);
1799 _la = _input.LA(1);
1800 if (_la==WORK) {
1801 {
1802 setState(1136);
1803 match(WORK);
1804 }
1805 }
1806
1807 }
1808 }
1809 catch (RecognitionException re) {
1810 _localctx.exception = re;
1811 _errHandler.reportError(this, re);
1812 _errHandler.recover(this, re);
1813 }
1814 finally {
1815 exitRule();
1816 }
1817 return _localctx;
1818 }
1819
1820 public static class RollbackContext extends ParserRuleContext {
1821 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1822 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1823 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1824 public TransactionNameContext transactionName() {
1825 return getRuleContext(TransactionNameContext.class,0);
1826 }
1827 public TransactionVariableNameContext transactionVariableName() {
1828 return getRuleContext(TransactionVariableNameContext.class,0);
1829 }
1830 public SavepointNameContext savepointName() {
1831 return getRuleContext(SavepointNameContext.class,0);
1832 }
1833 public SavepointVariableNameContext savepointVariableName() {
1834 return getRuleContext(SavepointVariableNameContext.class,0);
1835 }
1836 public RollbackContext(ParserRuleContext parent, int invokingState) {
1837 super(parent, invokingState);
1838 }
1839 @Override public int getRuleIndex() { return RULE_rollback; }
1840 @Override
1841 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1842 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollback(this);
1843 else return visitor.visitChildren(this);
1844 }
1845 }
1846
1847 public final RollbackContext rollback() throws RecognitionException {
1848 RollbackContext _localctx = new RollbackContext(_ctx, getState());
1849 enterRule(_localctx, 18, RULE_rollback);
1850 int _la;
1851 try {
1852 enterOuterAlt(_localctx, 1);
1853 {
1854 setState(1139);
1855 match(ROLLBACK);
1856 setState(1140);
1857 _la = _input.LA(1);
1858 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1859 _errHandler.recoverInline(this);
1860 }
1861 else {
1862 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1863 _errHandler.reportMatch(this);
1864 consume();
1865 }
1866 setState(1145);
1867 _errHandler.sync(this);
1868 switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
1869 case 1:
1870 {
1871 setState(1141);
1872 transactionName();
1873 }
1874 break;
1875 case 2:
1876 {
1877 setState(1142);
1878 transactionVariableName();
1879 }
1880 break;
1881 case 3:
1882 {
1883 setState(1143);
1884 savepointName();
1885 }
1886 break;
1887 case 4:
1888 {
1889 setState(1144);
1890 savepointVariableName();
1891 }
1892 break;
1893 }
1894 }
1895 }
1896 catch (RecognitionException re) {
1897 _localctx.exception = re;
1898 _errHandler.reportError(this, re);
1899 _errHandler.recover(this, re);
1900 }
1901 finally {
1902 exitRule();
1903 }
1904 return _localctx;
1905 }
1906
1907 public static class RollbackWorkContext extends ParserRuleContext {
1908 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1909 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1910 public RollbackWorkContext(ParserRuleContext parent, int invokingState) {
1911 super(parent, invokingState);
1912 }
1913 @Override public int getRuleIndex() { return RULE_rollbackWork; }
1914 @Override
1915 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1916 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollbackWork(this);
1917 else return visitor.visitChildren(this);
1918 }
1919 }
1920
1921 public final RollbackWorkContext rollbackWork() throws RecognitionException {
1922 RollbackWorkContext _localctx = new RollbackWorkContext(_ctx, getState());
1923 enterRule(_localctx, 20, RULE_rollbackWork);
1924 int _la;
1925 try {
1926 enterOuterAlt(_localctx, 1);
1927 {
1928 setState(1147);
1929 match(ROLLBACK);
1930 setState(1149);
1931 _errHandler.sync(this);
1932 _la = _input.LA(1);
1933 if (_la==WORK) {
1934 {
1935 setState(1148);
1936 match(WORK);
1937 }
1938 }
1939
1940 }
1941 }
1942 catch (RecognitionException re) {
1943 _localctx.exception = re;
1944 _errHandler.reportError(this, re);
1945 _errHandler.recover(this, re);
1946 }
1947 finally {
1948 exitRule();
1949 }
1950 return _localctx;
1951 }
1952
1953 public static class SavepointContext extends ParserRuleContext {
1954 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
1955 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1956 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1957 public SavepointNameContext savepointName() {
1958 return getRuleContext(SavepointNameContext.class,0);
1959 }
1960 public SavepointVariableNameContext savepointVariableName() {
1961 return getRuleContext(SavepointVariableNameContext.class,0);
1962 }
1963 public SavepointContext(ParserRuleContext parent, int invokingState) {
1964 super(parent, invokingState);
1965 }
1966 @Override public int getRuleIndex() { return RULE_savepoint; }
1967 @Override
1968 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1969 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepoint(this);
1970 else return visitor.visitChildren(this);
1971 }
1972 }
1973
1974 public final SavepointContext savepoint() throws RecognitionException {
1975 SavepointContext _localctx = new SavepointContext(_ctx, getState());
1976 enterRule(_localctx, 22, RULE_savepoint);
1977 int _la;
1978 try {
1979 enterOuterAlt(_localctx, 1);
1980 {
1981 setState(1151);
1982 match(SAVE);
1983 setState(1152);
1984 _la = _input.LA(1);
1985 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1986 _errHandler.recoverInline(this);
1987 }
1988 else {
1989 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1990 _errHandler.reportMatch(this);
1991 consume();
1992 }
1993 setState(1155);
1994 _errHandler.sync(this);
1995 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1996 case 1:
1997 {
1998 setState(1153);
1999 savepointName();
2000 }
2001 break;
2002 case 2:
2003 {
2004 setState(1154);
2005 savepointVariableName();
2006 }
2007 break;
2008 }
2009 }
2010 }
2011 catch (RecognitionException re) {
2012 _localctx.exception = re;
2013 _errHandler.reportError(this, re);
2014 _errHandler.recover(this, re);
2015 }
2016 finally {
2017 exitRule();
2018 }
2019 return _localctx;
2020 }
2021
2022 public static class ParameterMarkerContext extends ParserRuleContext {
2023 public TerminalNode QUESTION_() { return getToken(SQLServerStatementParser.QUESTION_, 0); }
2024 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
2025 super(parent, invokingState);
2026 }
2027 @Override public int getRuleIndex() { return RULE_parameterMarker; }
2028 @Override
2029 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2030 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
2031 else return visitor.visitChildren(this);
2032 }
2033 }
2034
2035 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
2036 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
2037 enterRule(_localctx, 24, RULE_parameterMarker);
2038 try {
2039 enterOuterAlt(_localctx, 1);
2040 {
2041 setState(1157);
2042 match(QUESTION_);
2043 }
2044 }
2045 catch (RecognitionException re) {
2046 _localctx.exception = re;
2047 _errHandler.reportError(this, re);
2048 _errHandler.recover(this, re);
2049 }
2050 finally {
2051 exitRule();
2052 }
2053 return _localctx;
2054 }
2055
2056 public static class LiteralsContext extends ParserRuleContext {
2057 public StringLiteralsContext stringLiterals() {
2058 return getRuleContext(StringLiteralsContext.class,0);
2059 }
2060 public NumberLiteralsContext numberLiterals() {
2061 return getRuleContext(NumberLiteralsContext.class,0);
2062 }
2063 public DateTimeLiteralsContext dateTimeLiterals() {
2064 return getRuleContext(DateTimeLiteralsContext.class,0);
2065 }
2066 public HexadecimalLiteralsContext hexadecimalLiterals() {
2067 return getRuleContext(HexadecimalLiteralsContext.class,0);
2068 }
2069 public BitValueLiteralsContext bitValueLiterals() {
2070 return getRuleContext(BitValueLiteralsContext.class,0);
2071 }
2072 public BooleanLiteralsContext booleanLiterals() {
2073 return getRuleContext(BooleanLiteralsContext.class,0);
2074 }
2075 public NullValueLiteralsContext nullValueLiterals() {
2076 return getRuleContext(NullValueLiteralsContext.class,0);
2077 }
2078 public LiteralsContext(ParserRuleContext parent, int invokingState) {
2079 super(parent, invokingState);
2080 }
2081 @Override public int getRuleIndex() { return RULE_literals; }
2082 @Override
2083 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2084 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLiterals(this);
2085 else return visitor.visitChildren(this);
2086 }
2087 }
2088
2089 public final LiteralsContext literals() throws RecognitionException {
2090 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
2091 enterRule(_localctx, 26, RULE_literals);
2092 try {
2093 setState(1166);
2094 _errHandler.sync(this);
2095 switch (_input.LA(1)) {
2096 case STRING_:
2097 case NCHAR_TEXT:
2098 enterOuterAlt(_localctx, 1);
2099 {
2100 setState(1159);
2101 stringLiterals();
2102 }
2103 break;
2104 case PLUS_:
2105 case MINUS_:
2106 case NUMBER_:
2107 enterOuterAlt(_localctx, 2);
2108 {
2109 setState(1160);
2110 numberLiterals();
2111 }
2112 break;
2113 case LBE_:
2114 case DATE:
2115 case TIME:
2116 case TIMESTAMP:
2117 enterOuterAlt(_localctx, 3);
2118 {
2119 setState(1161);
2120 dateTimeLiterals();
2121 }
2122 break;
2123 case HEX_DIGIT_:
2124 enterOuterAlt(_localctx, 4);
2125 {
2126 setState(1162);
2127 hexadecimalLiterals();
2128 }
2129 break;
2130 case BIT_NUM_:
2131 enterOuterAlt(_localctx, 5);
2132 {
2133 setState(1163);
2134 bitValueLiterals();
2135 }
2136 break;
2137 case TRUE:
2138 case FALSE:
2139 enterOuterAlt(_localctx, 6);
2140 {
2141 setState(1164);
2142 booleanLiterals();
2143 }
2144 break;
2145 case NULL:
2146 enterOuterAlt(_localctx, 7);
2147 {
2148 setState(1165);
2149 nullValueLiterals();
2150 }
2151 break;
2152 default:
2153 throw new NoViableAltException(this);
2154 }
2155 }
2156 catch (RecognitionException re) {
2157 _localctx.exception = re;
2158 _errHandler.reportError(this, re);
2159 _errHandler.recover(this, re);
2160 }
2161 finally {
2162 exitRule();
2163 }
2164 return _localctx;
2165 }
2166
2167 public static class StringLiteralsContext extends ParserRuleContext {
2168 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2169 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
2170 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
2171 super(parent, invokingState);
2172 }
2173 @Override public int getRuleIndex() { return RULE_stringLiterals; }
2174 @Override
2175 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2176 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
2177 else return visitor.visitChildren(this);
2178 }
2179 }
2180
2181 public final StringLiteralsContext stringLiterals() throws RecognitionException {
2182 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
2183 enterRule(_localctx, 28, RULE_stringLiterals);
2184 int _la;
2185 try {
2186 enterOuterAlt(_localctx, 1);
2187 {
2188 setState(1168);
2189 _la = _input.LA(1);
2190 if ( !(_la==STRING_ || _la==NCHAR_TEXT) ) {
2191 _errHandler.recoverInline(this);
2192 }
2193 else {
2194 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2195 _errHandler.reportMatch(this);
2196 consume();
2197 }
2198 }
2199 }
2200 catch (RecognitionException re) {
2201 _localctx.exception = re;
2202 _errHandler.reportError(this, re);
2203 _errHandler.recover(this, re);
2204 }
2205 finally {
2206 exitRule();
2207 }
2208 return _localctx;
2209 }
2210
2211 public static class NumberLiteralsContext extends ParserRuleContext {
2212 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
2213 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
2214 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
2215 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
2216 super(parent, invokingState);
2217 }
2218 @Override public int getRuleIndex() { return RULE_numberLiterals; }
2219 @Override
2220 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2221 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
2222 else return visitor.visitChildren(this);
2223 }
2224 }
2225
2226 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
2227 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
2228 enterRule(_localctx, 30, RULE_numberLiterals);
2229 int _la;
2230 try {
2231 enterOuterAlt(_localctx, 1);
2232 {
2233 setState(1171);
2234 _errHandler.sync(this);
2235 _la = _input.LA(1);
2236 if (_la==PLUS_ || _la==MINUS_) {
2237 {
2238 setState(1170);
2239 _la = _input.LA(1);
2240 if ( !(_la==PLUS_ || _la==MINUS_) ) {
2241 _errHandler.recoverInline(this);
2242 }
2243 else {
2244 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2245 _errHandler.reportMatch(this);
2246 consume();
2247 }
2248 }
2249 }
2250
2251 setState(1173);
2252 match(NUMBER_);
2253 }
2254 }
2255 catch (RecognitionException re) {
2256 _localctx.exception = re;
2257 _errHandler.reportError(this, re);
2258 _errHandler.recover(this, re);
2259 }
2260 finally {
2261 exitRule();
2262 }
2263 return _localctx;
2264 }
2265
2266 public static class DateTimeLiteralsContext extends ParserRuleContext {
2267 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2268 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
2269 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
2270 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
2271 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
2272 public IdentifierContext identifier() {
2273 return getRuleContext(IdentifierContext.class,0);
2274 }
2275 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
2276 public DateTimeLiteralsContext(ParserRuleContext parent, int invokingState) {
2277 super(parent, invokingState);
2278 }
2279 @Override public int getRuleIndex() { return RULE_dateTimeLiterals; }
2280 @Override
2281 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2282 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDateTimeLiterals(this);
2283 else return visitor.visitChildren(this);
2284 }
2285 }
2286
2287 public final DateTimeLiteralsContext dateTimeLiterals() throws RecognitionException {
2288 DateTimeLiteralsContext _localctx = new DateTimeLiteralsContext(_ctx, getState());
2289 enterRule(_localctx, 32, RULE_dateTimeLiterals);
2290 int _la;
2291 try {
2292 setState(1182);
2293 _errHandler.sync(this);
2294 switch (_input.LA(1)) {
2295 case DATE:
2296 case TIME:
2297 case TIMESTAMP:
2298 enterOuterAlt(_localctx, 1);
2299 {
2300 setState(1175);
2301 _la = _input.LA(1);
2302 if ( !(((((_la - 135)) & ~0x3f) == 0 && ((1L << (_la - 135)) & ((1L << (DATE - 135)) | (1L << (TIME - 135)) | (1L << (TIMESTAMP - 135)))) != 0)) ) {
2303 _errHandler.recoverInline(this);
2304 }
2305 else {
2306 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2307 _errHandler.reportMatch(this);
2308 consume();
2309 }
2310 setState(1176);
2311 match(STRING_);
2312 }
2313 break;
2314 case LBE_:
2315 enterOuterAlt(_localctx, 2);
2316 {
2317 setState(1177);
2318 match(LBE_);
2319 setState(1178);
2320 identifier();
2321 setState(1179);
2322 match(STRING_);
2323 setState(1180);
2324 match(RBE_);
2325 }
2326 break;
2327 default:
2328 throw new NoViableAltException(this);
2329 }
2330 }
2331 catch (RecognitionException re) {
2332 _localctx.exception = re;
2333 _errHandler.reportError(this, re);
2334 _errHandler.recover(this, re);
2335 }
2336 finally {
2337 exitRule();
2338 }
2339 return _localctx;
2340 }
2341
2342 public static class HexadecimalLiteralsContext extends ParserRuleContext {
2343 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
2344 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
2345 super(parent, invokingState);
2346 }
2347 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
2348 @Override
2349 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2350 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
2351 else return visitor.visitChildren(this);
2352 }
2353 }
2354
2355 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
2356 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
2357 enterRule(_localctx, 34, RULE_hexadecimalLiterals);
2358 try {
2359 enterOuterAlt(_localctx, 1);
2360 {
2361 setState(1184);
2362 match(HEX_DIGIT_);
2363 }
2364 }
2365 catch (RecognitionException re) {
2366 _localctx.exception = re;
2367 _errHandler.reportError(this, re);
2368 _errHandler.recover(this, re);
2369 }
2370 finally {
2371 exitRule();
2372 }
2373 return _localctx;
2374 }
2375
2376 public static class BitValueLiteralsContext extends ParserRuleContext {
2377 public TerminalNode BIT_NUM_() { return getToken(SQLServerStatementParser.BIT_NUM_, 0); }
2378 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2379 super(parent, invokingState);
2380 }
2381 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
2382 @Override
2383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2384 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
2385 else return visitor.visitChildren(this);
2386 }
2387 }
2388
2389 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
2390 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
2391 enterRule(_localctx, 36, RULE_bitValueLiterals);
2392 try {
2393 enterOuterAlt(_localctx, 1);
2394 {
2395 setState(1186);
2396 match(BIT_NUM_);
2397 }
2398 }
2399 catch (RecognitionException re) {
2400 _localctx.exception = re;
2401 _errHandler.reportError(this, re);
2402 _errHandler.recover(this, re);
2403 }
2404 finally {
2405 exitRule();
2406 }
2407 return _localctx;
2408 }
2409
2410 public static class BooleanLiteralsContext extends ParserRuleContext {
2411 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
2412 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
2413 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
2414 super(parent, invokingState);
2415 }
2416 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
2417 @Override
2418 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2419 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
2420 else return visitor.visitChildren(this);
2421 }
2422 }
2423
2424 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
2425 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
2426 enterRule(_localctx, 38, RULE_booleanLiterals);
2427 int _la;
2428 try {
2429 enterOuterAlt(_localctx, 1);
2430 {
2431 setState(1188);
2432 _la = _input.LA(1);
2433 if ( !(_la==TRUE || _la==FALSE) ) {
2434 _errHandler.recoverInline(this);
2435 }
2436 else {
2437 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2438 _errHandler.reportMatch(this);
2439 consume();
2440 }
2441 }
2442 }
2443 catch (RecognitionException re) {
2444 _localctx.exception = re;
2445 _errHandler.reportError(this, re);
2446 _errHandler.recover(this, re);
2447 }
2448 finally {
2449 exitRule();
2450 }
2451 return _localctx;
2452 }
2453
2454 public static class NullValueLiteralsContext extends ParserRuleContext {
2455 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
2456 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2457 super(parent, invokingState);
2458 }
2459 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
2460 @Override
2461 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2462 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
2463 else return visitor.visitChildren(this);
2464 }
2465 }
2466
2467 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
2468 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
2469 enterRule(_localctx, 40, RULE_nullValueLiterals);
2470 try {
2471 enterOuterAlt(_localctx, 1);
2472 {
2473 setState(1190);
2474 match(NULL);
2475 }
2476 }
2477 catch (RecognitionException re) {
2478 _localctx.exception = re;
2479 _errHandler.reportError(this, re);
2480 _errHandler.recover(this, re);
2481 }
2482 finally {
2483 exitRule();
2484 }
2485 return _localctx;
2486 }
2487
2488 public static class IdentifierContext extends ParserRuleContext {
2489 public RegularIdentifierContext regularIdentifier() {
2490 return getRuleContext(RegularIdentifierContext.class,0);
2491 }
2492 public DelimitedIdentifierContext delimitedIdentifier() {
2493 return getRuleContext(DelimitedIdentifierContext.class,0);
2494 }
2495 public IdentifierContext(ParserRuleContext parent, int invokingState) {
2496 super(parent, invokingState);
2497 }
2498 @Override public int getRuleIndex() { return RULE_identifier; }
2499 @Override
2500 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2501 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIdentifier(this);
2502 else return visitor.visitChildren(this);
2503 }
2504 }
2505
2506 public final IdentifierContext identifier() throws RecognitionException {
2507 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
2508 enterRule(_localctx, 42, RULE_identifier);
2509 try {
2510 setState(1194);
2511 _errHandler.sync(this);
2512 switch (_input.LA(1)) {
2513 case TRUNCATE:
2514 case SCHEMA:
2515 case COLUMNS:
2516 case PRECISION:
2517 case FUNCTION:
2518 case TRIGGER:
2519 case CAST:
2520 case TRIM:
2521 case SUBSTRING:
2522 case RIGHT:
2523 case OFF:
2524 case GROUP:
2525 case LIMIT:
2526 case OFFSET:
2527 case SAVEPOINT:
2528 case BOOLEAN:
2529 case ARRAY:
2530 case DATE:
2531 case TIMESTAMP:
2532 case LOCALTIME:
2533 case LOCALTIMESTAMP:
2534 case YEAR:
2535 case QUARTER:
2536 case MONTH:
2537 case WEEK:
2538 case DAY:
2539 case SECOND:
2540 case MICROSECOND:
2541 case MAX:
2542 case MIN:
2543 case SUM:
2544 case COUNT:
2545 case AVG:
2546 case ENABLE:
2547 case DISABLE:
2548 case INSTANCE:
2549 case DO:
2550 case DEFINER:
2551 case SQL:
2552 case CASCADED:
2553 case LOCAL:
2554 case NEXT:
2555 case NAME:
2556 case INTEGER:
2557 case TYPE:
2558 case TEXT:
2559 case VIEWS:
2560 case READ_ONLY:
2561 case DATABASE:
2562 case RETURNS:
2563 case DATEPART:
2564 case PASSWORD:
2565 case BINARY:
2566 case HIDDEN_:
2567 case MOD:
2568 case PARTITION:
2569 case PARTITIONS:
2570 case TOP:
2571 case ROW:
2572 case ROWS:
2573 case XOR:
2574 case ALWAYS:
2575 case USER:
2576 case ROLE:
2577 case START:
2578 case ALGORITHM:
2579 case AUTO:
2580 case BLOCKERS:
2581 case CLUSTERED:
2582 case NONCLUSTERED:
2583 case COLUMNSTORE:
2584 case CONTENT:
2585 case YEARS:
2586 case MONTHS:
2587 case WEEKS:
2588 case DAYS:
2589 case MINUTES:
2590 case DENY:
2591 case DETERMINISTIC:
2592 case DISTRIBUTION:
2593 case DOCUMENT:
2594 case DURABILITY:
2595 case ENCRYPTED:
2596 case FILESTREAM:
2597 case FILETABLE:
2598 case FILLFACTOR:
2599 case FOLLOWING:
2600 case HASH:
2601 case HEAP:
2602 case INBOUND:
2603 case OUTBOUND:
2604 case UNBOUNDED:
2605 case INFINITE:
2606 case LOGIN:
2607 case MASKED:
2608 case MAXDOP:
2609 case MOVE:
2610 case NOCHECK:
2611 case OBJECT:
2612 case ONLINE:
2613 case OVER:
2614 case PAGE:
2615 case PAUSED:
2616 case PERIOD:
2617 case PERSISTED:
2618 case PRECEDING:
2619 case RANDOMIZED:
2620 case RANGE:
2621 case REBUILD:
2622 case REPLICATE:
2623 case REPLICATION:
2624 case RESUMABLE:
2625 case ROWGUIDCOL:
2626 case SAVE:
2627 case SELF:
2628 case SPARSE:
2629 case SWITCH:
2630 case TRAN:
2631 case TRANCOUNT:
2632 case CONTROL:
2633 case CONCAT:
2634 case TAKE:
2635 case OWNERSHIP:
2636 case DEFINITION:
2637 case APPLICATION:
2638 case ASSEMBLY:
2639 case SYMMETRIC:
2640 case ASYMMETRIC:
2641 case SERVER:
2642 case RECEIVE:
2643 case CHANGE:
2644 case TRACE:
2645 case TRACKING:
2646 case RESOURCES:
2647 case SETTINGS:
2648 case STATE:
2649 case AVAILABILITY:
2650 case CREDENTIAL:
2651 case ENDPOINT:
2652 case EVENT:
2653 case NOTIFICATION:
2654 case LINKED:
2655 case AUDIT:
2656 case DDL:
2657 case XML:
2658 case IMPERSONATE:
2659 case SECURABLES:
2660 case AUTHENTICATE:
2661 case EXTERNAL:
2662 case ACCESS:
2663 case ADMINISTER:
2664 case BULK:
2665 case OPERATIONS:
2666 case UNSAFE:
2667 case SHUTDOWN:
2668 case SCOPED:
2669 case CONFIGURATION:
2670 case DATASPACE:
2671 case SERVICE:
2672 case CERTIFICATE:
2673 case CONTRACT:
2674 case ENCRYPTION:
2675 case MASTER:
2676 case DATA:
2677 case SOURCE:
2678 case FILE:
2679 case FORMAT:
2680 case LIBRARY:
2681 case FULLTEXT:
2682 case MASK:
2683 case UNMASK:
2684 case MESSAGE:
2685 case REMOTE:
2686 case BINDING:
2687 case ROUTE:
2688 case SECURITY:
2689 case POLICY:
2690 case AGGREGATE:
2691 case QUEUE:
2692 case RULE:
2693 case SYNONYM:
2694 case COLLECTION:
2695 case SCRIPT:
2696 case KILL:
2697 case BACKUP:
2698 case LOG:
2699 case SHOWPLAN:
2700 case SUBSCRIBE:
2701 case QUERY:
2702 case NOTIFICATIONS:
2703 case CHECKPOINT:
2704 case SEQUENCE:
2705 case ABORT_AFTER_WAIT:
2706 case ALLOW_PAGE_LOCKS:
2707 case ALLOW_ROW_LOCKS:
2708 case ALL_SPARSE_COLUMNS:
2709 case BUCKET_COUNT:
2710 case COLUMNSTORE_ARCHIVE:
2711 case COLUMN_ENCRYPTION_KEY:
2712 case COLUMN_SET:
2713 case COMPRESSION_DELAY:
2714 case DATABASE_DEAULT:
2715 case DATA_COMPRESSION:
2716 case DATA_CONSISTENCY_CHECK:
2717 case ENCRYPTION_TYPE:
2718 case SYSTEM_TIME:
2719 case SYSTEM_VERSIONING:
2720 case TEXTIMAGE_ON:
2721 case WAIT_AT_LOW_PRIORITY:
2722 case STATISTICS_INCREMENTAL:
2723 case STATISTICS_NORECOMPUTE:
2724 case ROUND_ROBIN:
2725 case SCHEMA_AND_DATA:
2726 case SCHEMA_ONLY:
2727 case SORT_IN_TEMPDB:
2728 case IGNORE_DUP_KEY:
2729 case IMPLICIT_TRANSACTIONS:
2730 case MAX_DURATION:
2731 case MEMORY_OPTIMIZED:
2732 case MIGRATION_STATE:
2733 case PAD_INDEX:
2734 case REMOTE_DATA_ARCHIVE:
2735 case FILESTREAM_ON:
2736 case FILETABLE_COLLATE_FILENAME:
2737 case FILETABLE_DIRECTORY:
2738 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
2739 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
2740 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
2741 case FILTER_PREDICATE:
2742 case HISTORY_RETENTION_PERIOD:
2743 case HISTORY_TABLE:
2744 case LOCK_ESCALATION:
2745 case DROP_EXISTING:
2746 case ROW_NUMBER:
2747 case FIRST:
2748 case DATETIME2:
2749 case OUTPUT:
2750 case INSERTED:
2751 case DELETED:
2752 case FILENAME:
2753 case SIZE:
2754 case MAXSIZE:
2755 case FILEGROWTH:
2756 case UNLIMITED:
2757 case KB:
2758 case MB:
2759 case GB:
2760 case TB:
2761 case CONTAINS:
2762 case MEMORY_OPTIMIZED_DATA:
2763 case FILEGROUP:
2764 case NON_TRANSACTED_ACCESS:
2765 case DB_CHAINING:
2766 case TRUSTWORTHY:
2767 case FORWARD_ONLY:
2768 case KEYSET:
2769 case FAST_FORWARD:
2770 case SCROLL_LOCKS:
2771 case OPTIMISTIC:
2772 case TYPE_WARNING:
2773 case SCHEMABINDING:
2774 case CALLER:
2775 case INPUT:
2776 case OWNER:
2777 case SNAPSHOT:
2778 case REPEATABLE:
2779 case SERIALIZABLE:
2780 case NATIVE_COMPILATION:
2781 case VIEW_METADATA:
2782 case INSTEAD:
2783 case APPEND:
2784 case INCREMENT:
2785 case CACHE:
2786 case MINVALUE:
2787 case MAXVALUE:
2788 case RESTART:
2789 case LOB_COMPACTION:
2790 case COMPRESS_ALL_ROW_GROUPS:
2791 case REORGANIZE:
2792 case RESUME:
2793 case PAUSE:
2794 case ABORT:
2795 case ACCELERATED_DATABASE_RECOVERY:
2796 case PERSISTENT_VERSION_STORE_FILEGROUP:
2797 case IMMEDIATE:
2798 case NO_WAIT:
2799 case TARGET_RECOVERY_TIME:
2800 case SECONDS:
2801 case HONOR_BROKER_PRIORITY:
2802 case ERROR_BROKER_CONVERSATIONS:
2803 case NEW_BROKER:
2804 case DISABLE_BROKER:
2805 case ENABLE_BROKER:
2806 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
2807 case READ_COMMITTED_SNAPSHOT:
2808 case ALLOW_SNAPSHOT_ISOLATION:
2809 case RECURSIVE_TRIGGERS:
2810 case QUOTED_IDENTIFIER:
2811 case NUMERIC_ROUNDABORT:
2812 case CONCAT_NULL_YIELDS_NULL:
2813 case COMPATIBILITY_LEVEL:
2814 case ARITHABORT:
2815 case ANSI_WARNINGS:
2816 case ANSI_PADDING:
2817 case ANSI_NULLS:
2818 case ANSI_NULL_DEFAULT:
2819 case PAGE_VERIFY:
2820 case CHECKSUM:
2821 case TORN_PAGE_DETECTION:
2822 case BULK_LOGGED:
2823 case RECOVERY:
2824 case TOTAL_EXECUTION_CPU_TIME_MS:
2825 case TOTAL_COMPILE_CPU_TIME_MS:
2826 case STALE_CAPTURE_POLICY_THRESHOLD:
2827 case EXECUTION_COUNT:
2828 case QUERY_CAPTURE_POLICY:
2829 case WAIT_STATS_CAPTURE_MODE:
2830 case MAX_PLANS_PER_QUERY:
2831 case QUERY_CAPTURE_MODE:
2832 case SIZE_BASED_CLEANUP_MODE:
2833 case INTERVAL_LENGTH_MINUTES:
2834 case MAX_STORAGE_SIZE_MB:
2835 case DATA_FLUSH_INTERVAL_SECONDS:
2836 case CLEANUP_POLICY:
2837 case CUSTOM:
2838 case STALE_QUERY_THRESHOLD_DAYS:
2839 case OPERATION_MODE:
2840 case QUERY_STORE:
2841 case CURSOR_DEFAULT:
2842 case GLOBAL:
2843 case CURSOR_CLOSE_ON_COMMIT:
2844 case HOURS:
2845 case CHANGE_RETENTION:
2846 case AUTO_CLEANUP:
2847 case CHANGE_TRACKING:
2848 case AUTOMATIC_TUNING:
2849 case FORCE_LAST_GOOD_PLAN:
2850 case AUTO_UPDATE_STATISTICS_ASYNC:
2851 case AUTO_UPDATE_STATISTICS:
2852 case AUTO_SHRINK:
2853 case AUTO_CREATE_STATISTICS:
2854 case INCREMENTAL:
2855 case AUTO_CLOSE:
2856 case DATA_RETENTION:
2857 case TEMPORAL_HISTORY_RETENTION:
2858 case EDITION:
2859 case MIXED_PAGE_ALLOCATION:
2860 case DISABLED:
2861 case ALLOWED:
2862 case HADR:
2863 case MULTI_USER:
2864 case RESTRICTED_USER:
2865 case SINGLE_USER:
2866 case OFFLINE:
2867 case EMERGENCY:
2868 case SUSPEND:
2869 case DATE_CORRELATION_OPTIMIZATION:
2870 case ELASTIC_POOL:
2871 case SERVICE_OBJECTIVE:
2872 case DATABASE_NAME:
2873 case ALLOW_CONNECTIONS:
2874 case GEO:
2875 case NAMED:
2876 case DATEFIRST:
2877 case BACKUP_STORAGE_REDUNDANCY:
2878 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
2879 case SECONDARY:
2880 case FAILOVER:
2881 case DEFAULT_FULLTEXT_LANGUAGE:
2882 case DEFAULT_LANGUAGE:
2883 case INLINE:
2884 case NESTED_TRIGGERS:
2885 case TRANSFORM_NOISE_WORDS:
2886 case TWO_DIGIT_YEAR_CUTOFF:
2887 case PERSISTENT_LOG_BUFFER:
2888 case DIRECTORY_NAME:
2889 case DATEFORMAT:
2890 case DELAYED_DURABILITY:
2891 case AUTHORIZATION:
2892 case TRANSFER:
2893 case PROVIDER:
2894 case SID:
2895 case SEARCH:
2896 case MEMBER:
2897 case JSON:
2898 case IDENTIFIER_:
2899 enterOuterAlt(_localctx, 1);
2900 {
2901 setState(1192);
2902 regularIdentifier();
2903 }
2904 break;
2905 case DELIMITED_IDENTIFIER_:
2906 enterOuterAlt(_localctx, 2);
2907 {
2908 setState(1193);
2909 delimitedIdentifier();
2910 }
2911 break;
2912 default:
2913 throw new NoViableAltException(this);
2914 }
2915 }
2916 catch (RecognitionException re) {
2917 _localctx.exception = re;
2918 _errHandler.reportError(this, re);
2919 _errHandler.recover(this, re);
2920 }
2921 finally {
2922 exitRule();
2923 }
2924 return _localctx;
2925 }
2926
2927 public static class RegularIdentifierContext extends ParserRuleContext {
2928 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
2929 public UnreservedWordContext unreservedWord() {
2930 return getRuleContext(UnreservedWordContext.class,0);
2931 }
2932 public RegularIdentifierContext(ParserRuleContext parent, int invokingState) {
2933 super(parent, invokingState);
2934 }
2935 @Override public int getRuleIndex() { return RULE_regularIdentifier; }
2936 @Override
2937 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2938 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularIdentifier(this);
2939 else return visitor.visitChildren(this);
2940 }
2941 }
2942
2943 public final RegularIdentifierContext regularIdentifier() throws RecognitionException {
2944 RegularIdentifierContext _localctx = new RegularIdentifierContext(_ctx, getState());
2945 enterRule(_localctx, 44, RULE_regularIdentifier);
2946 try {
2947 setState(1198);
2948 _errHandler.sync(this);
2949 switch (_input.LA(1)) {
2950 case IDENTIFIER_:
2951 enterOuterAlt(_localctx, 1);
2952 {
2953 setState(1196);
2954 match(IDENTIFIER_);
2955 }
2956 break;
2957 case TRUNCATE:
2958 case SCHEMA:
2959 case COLUMNS:
2960 case PRECISION:
2961 case FUNCTION:
2962 case TRIGGER:
2963 case CAST:
2964 case TRIM:
2965 case SUBSTRING:
2966 case RIGHT:
2967 case OFF:
2968 case GROUP:
2969 case LIMIT:
2970 case OFFSET:
2971 case SAVEPOINT:
2972 case BOOLEAN:
2973 case ARRAY:
2974 case DATE:
2975 case TIMESTAMP:
2976 case LOCALTIME:
2977 case LOCALTIMESTAMP:
2978 case YEAR:
2979 case QUARTER:
2980 case MONTH:
2981 case WEEK:
2982 case DAY:
2983 case SECOND:
2984 case MICROSECOND:
2985 case MAX:
2986 case MIN:
2987 case SUM:
2988 case COUNT:
2989 case AVG:
2990 case ENABLE:
2991 case DISABLE:
2992 case INSTANCE:
2993 case DO:
2994 case DEFINER:
2995 case SQL:
2996 case CASCADED:
2997 case LOCAL:
2998 case NEXT:
2999 case NAME:
3000 case INTEGER:
3001 case TYPE:
3002 case TEXT:
3003 case VIEWS:
3004 case READ_ONLY:
3005 case DATABASE:
3006 case RETURNS:
3007 case DATEPART:
3008 case PASSWORD:
3009 case BINARY:
3010 case HIDDEN_:
3011 case MOD:
3012 case PARTITION:
3013 case PARTITIONS:
3014 case TOP:
3015 case ROW:
3016 case ROWS:
3017 case XOR:
3018 case ALWAYS:
3019 case USER:
3020 case ROLE:
3021 case START:
3022 case ALGORITHM:
3023 case AUTO:
3024 case BLOCKERS:
3025 case CLUSTERED:
3026 case NONCLUSTERED:
3027 case COLUMNSTORE:
3028 case CONTENT:
3029 case YEARS:
3030 case MONTHS:
3031 case WEEKS:
3032 case DAYS:
3033 case MINUTES:
3034 case DENY:
3035 case DETERMINISTIC:
3036 case DISTRIBUTION:
3037 case DOCUMENT:
3038 case DURABILITY:
3039 case ENCRYPTED:
3040 case FILESTREAM:
3041 case FILETABLE:
3042 case FILLFACTOR:
3043 case FOLLOWING:
3044 case HASH:
3045 case HEAP:
3046 case INBOUND:
3047 case OUTBOUND:
3048 case UNBOUNDED:
3049 case INFINITE:
3050 case LOGIN:
3051 case MASKED:
3052 case MAXDOP:
3053 case MOVE:
3054 case NOCHECK:
3055 case OBJECT:
3056 case ONLINE:
3057 case OVER:
3058 case PAGE:
3059 case PAUSED:
3060 case PERIOD:
3061 case PERSISTED:
3062 case PRECEDING:
3063 case RANDOMIZED:
3064 case RANGE:
3065 case REBUILD:
3066 case REPLICATE:
3067 case REPLICATION:
3068 case RESUMABLE:
3069 case ROWGUIDCOL:
3070 case SAVE:
3071 case SELF:
3072 case SPARSE:
3073 case SWITCH:
3074 case TRAN:
3075 case TRANCOUNT:
3076 case CONTROL:
3077 case CONCAT:
3078 case TAKE:
3079 case OWNERSHIP:
3080 case DEFINITION:
3081 case APPLICATION:
3082 case ASSEMBLY:
3083 case SYMMETRIC:
3084 case ASYMMETRIC:
3085 case SERVER:
3086 case RECEIVE:
3087 case CHANGE:
3088 case TRACE:
3089 case TRACKING:
3090 case RESOURCES:
3091 case SETTINGS:
3092 case STATE:
3093 case AVAILABILITY:
3094 case CREDENTIAL:
3095 case ENDPOINT:
3096 case EVENT:
3097 case NOTIFICATION:
3098 case LINKED:
3099 case AUDIT:
3100 case DDL:
3101 case XML:
3102 case IMPERSONATE:
3103 case SECURABLES:
3104 case AUTHENTICATE:
3105 case EXTERNAL:
3106 case ACCESS:
3107 case ADMINISTER:
3108 case BULK:
3109 case OPERATIONS:
3110 case UNSAFE:
3111 case SHUTDOWN:
3112 case SCOPED:
3113 case CONFIGURATION:
3114 case DATASPACE:
3115 case SERVICE:
3116 case CERTIFICATE:
3117 case CONTRACT:
3118 case ENCRYPTION:
3119 case MASTER:
3120 case DATA:
3121 case SOURCE:
3122 case FILE:
3123 case FORMAT:
3124 case LIBRARY:
3125 case FULLTEXT:
3126 case MASK:
3127 case UNMASK:
3128 case MESSAGE:
3129 case REMOTE:
3130 case BINDING:
3131 case ROUTE:
3132 case SECURITY:
3133 case POLICY:
3134 case AGGREGATE:
3135 case QUEUE:
3136 case RULE:
3137 case SYNONYM:
3138 case COLLECTION:
3139 case SCRIPT:
3140 case KILL:
3141 case BACKUP:
3142 case LOG:
3143 case SHOWPLAN:
3144 case SUBSCRIBE:
3145 case QUERY:
3146 case NOTIFICATIONS:
3147 case CHECKPOINT:
3148 case SEQUENCE:
3149 case ABORT_AFTER_WAIT:
3150 case ALLOW_PAGE_LOCKS:
3151 case ALLOW_ROW_LOCKS:
3152 case ALL_SPARSE_COLUMNS:
3153 case BUCKET_COUNT:
3154 case COLUMNSTORE_ARCHIVE:
3155 case COLUMN_ENCRYPTION_KEY:
3156 case COLUMN_SET:
3157 case COMPRESSION_DELAY:
3158 case DATABASE_DEAULT:
3159 case DATA_COMPRESSION:
3160 case DATA_CONSISTENCY_CHECK:
3161 case ENCRYPTION_TYPE:
3162 case SYSTEM_TIME:
3163 case SYSTEM_VERSIONING:
3164 case TEXTIMAGE_ON:
3165 case WAIT_AT_LOW_PRIORITY:
3166 case STATISTICS_INCREMENTAL:
3167 case STATISTICS_NORECOMPUTE:
3168 case ROUND_ROBIN:
3169 case SCHEMA_AND_DATA:
3170 case SCHEMA_ONLY:
3171 case SORT_IN_TEMPDB:
3172 case IGNORE_DUP_KEY:
3173 case IMPLICIT_TRANSACTIONS:
3174 case MAX_DURATION:
3175 case MEMORY_OPTIMIZED:
3176 case MIGRATION_STATE:
3177 case PAD_INDEX:
3178 case REMOTE_DATA_ARCHIVE:
3179 case FILESTREAM_ON:
3180 case FILETABLE_COLLATE_FILENAME:
3181 case FILETABLE_DIRECTORY:
3182 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
3183 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
3184 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
3185 case FILTER_PREDICATE:
3186 case HISTORY_RETENTION_PERIOD:
3187 case HISTORY_TABLE:
3188 case LOCK_ESCALATION:
3189 case DROP_EXISTING:
3190 case ROW_NUMBER:
3191 case FIRST:
3192 case DATETIME2:
3193 case OUTPUT:
3194 case INSERTED:
3195 case DELETED:
3196 case FILENAME:
3197 case SIZE:
3198 case MAXSIZE:
3199 case FILEGROWTH:
3200 case UNLIMITED:
3201 case KB:
3202 case MB:
3203 case GB:
3204 case TB:
3205 case CONTAINS:
3206 case MEMORY_OPTIMIZED_DATA:
3207 case FILEGROUP:
3208 case NON_TRANSACTED_ACCESS:
3209 case DB_CHAINING:
3210 case TRUSTWORTHY:
3211 case FORWARD_ONLY:
3212 case KEYSET:
3213 case FAST_FORWARD:
3214 case SCROLL_LOCKS:
3215 case OPTIMISTIC:
3216 case TYPE_WARNING:
3217 case SCHEMABINDING:
3218 case CALLER:
3219 case INPUT:
3220 case OWNER:
3221 case SNAPSHOT:
3222 case REPEATABLE:
3223 case SERIALIZABLE:
3224 case NATIVE_COMPILATION:
3225 case VIEW_METADATA:
3226 case INSTEAD:
3227 case APPEND:
3228 case INCREMENT:
3229 case CACHE:
3230 case MINVALUE:
3231 case MAXVALUE:
3232 case RESTART:
3233 case LOB_COMPACTION:
3234 case COMPRESS_ALL_ROW_GROUPS:
3235 case REORGANIZE:
3236 case RESUME:
3237 case PAUSE:
3238 case ABORT:
3239 case ACCELERATED_DATABASE_RECOVERY:
3240 case PERSISTENT_VERSION_STORE_FILEGROUP:
3241 case IMMEDIATE:
3242 case NO_WAIT:
3243 case TARGET_RECOVERY_TIME:
3244 case SECONDS:
3245 case HONOR_BROKER_PRIORITY:
3246 case ERROR_BROKER_CONVERSATIONS:
3247 case NEW_BROKER:
3248 case DISABLE_BROKER:
3249 case ENABLE_BROKER:
3250 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
3251 case READ_COMMITTED_SNAPSHOT:
3252 case ALLOW_SNAPSHOT_ISOLATION:
3253 case RECURSIVE_TRIGGERS:
3254 case QUOTED_IDENTIFIER:
3255 case NUMERIC_ROUNDABORT:
3256 case CONCAT_NULL_YIELDS_NULL:
3257 case COMPATIBILITY_LEVEL:
3258 case ARITHABORT:
3259 case ANSI_WARNINGS:
3260 case ANSI_PADDING:
3261 case ANSI_NULLS:
3262 case ANSI_NULL_DEFAULT:
3263 case PAGE_VERIFY:
3264 case CHECKSUM:
3265 case TORN_PAGE_DETECTION:
3266 case BULK_LOGGED:
3267 case RECOVERY:
3268 case TOTAL_EXECUTION_CPU_TIME_MS:
3269 case TOTAL_COMPILE_CPU_TIME_MS:
3270 case STALE_CAPTURE_POLICY_THRESHOLD:
3271 case EXECUTION_COUNT:
3272 case QUERY_CAPTURE_POLICY:
3273 case WAIT_STATS_CAPTURE_MODE:
3274 case MAX_PLANS_PER_QUERY:
3275 case QUERY_CAPTURE_MODE:
3276 case SIZE_BASED_CLEANUP_MODE:
3277 case INTERVAL_LENGTH_MINUTES:
3278 case MAX_STORAGE_SIZE_MB:
3279 case DATA_FLUSH_INTERVAL_SECONDS:
3280 case CLEANUP_POLICY:
3281 case CUSTOM:
3282 case STALE_QUERY_THRESHOLD_DAYS:
3283 case OPERATION_MODE:
3284 case QUERY_STORE:
3285 case CURSOR_DEFAULT:
3286 case GLOBAL:
3287 case CURSOR_CLOSE_ON_COMMIT:
3288 case HOURS:
3289 case CHANGE_RETENTION:
3290 case AUTO_CLEANUP:
3291 case CHANGE_TRACKING:
3292 case AUTOMATIC_TUNING:
3293 case FORCE_LAST_GOOD_PLAN:
3294 case AUTO_UPDATE_STATISTICS_ASYNC:
3295 case AUTO_UPDATE_STATISTICS:
3296 case AUTO_SHRINK:
3297 case AUTO_CREATE_STATISTICS:
3298 case INCREMENTAL:
3299 case AUTO_CLOSE:
3300 case DATA_RETENTION:
3301 case TEMPORAL_HISTORY_RETENTION:
3302 case EDITION:
3303 case MIXED_PAGE_ALLOCATION:
3304 case DISABLED:
3305 case ALLOWED:
3306 case HADR:
3307 case MULTI_USER:
3308 case RESTRICTED_USER:
3309 case SINGLE_USER:
3310 case OFFLINE:
3311 case EMERGENCY:
3312 case SUSPEND:
3313 case DATE_CORRELATION_OPTIMIZATION:
3314 case ELASTIC_POOL:
3315 case SERVICE_OBJECTIVE:
3316 case DATABASE_NAME:
3317 case ALLOW_CONNECTIONS:
3318 case GEO:
3319 case NAMED:
3320 case DATEFIRST:
3321 case BACKUP_STORAGE_REDUNDANCY:
3322 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
3323 case SECONDARY:
3324 case FAILOVER:
3325 case DEFAULT_FULLTEXT_LANGUAGE:
3326 case DEFAULT_LANGUAGE:
3327 case INLINE:
3328 case NESTED_TRIGGERS:
3329 case TRANSFORM_NOISE_WORDS:
3330 case TWO_DIGIT_YEAR_CUTOFF:
3331 case PERSISTENT_LOG_BUFFER:
3332 case DIRECTORY_NAME:
3333 case DATEFORMAT:
3334 case DELAYED_DURABILITY:
3335 case AUTHORIZATION:
3336 case TRANSFER:
3337 case PROVIDER:
3338 case SID:
3339 case SEARCH:
3340 case MEMBER:
3341 case JSON:
3342 enterOuterAlt(_localctx, 2);
3343 {
3344 setState(1197);
3345 unreservedWord();
3346 }
3347 break;
3348 default:
3349 throw new NoViableAltException(this);
3350 }
3351 }
3352 catch (RecognitionException re) {
3353 _localctx.exception = re;
3354 _errHandler.reportError(this, re);
3355 _errHandler.recover(this, re);
3356 }
3357 finally {
3358 exitRule();
3359 }
3360 return _localctx;
3361 }
3362
3363 public static class DelimitedIdentifierContext extends ParserRuleContext {
3364 public TerminalNode DELIMITED_IDENTIFIER_() { return getToken(SQLServerStatementParser.DELIMITED_IDENTIFIER_, 0); }
3365 public DelimitedIdentifierContext(ParserRuleContext parent, int invokingState) {
3366 super(parent, invokingState);
3367 }
3368 @Override public int getRuleIndex() { return RULE_delimitedIdentifier; }
3369 @Override
3370 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3371 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelimitedIdentifier(this);
3372 else return visitor.visitChildren(this);
3373 }
3374 }
3375
3376 public final DelimitedIdentifierContext delimitedIdentifier() throws RecognitionException {
3377 DelimitedIdentifierContext _localctx = new DelimitedIdentifierContext(_ctx, getState());
3378 enterRule(_localctx, 46, RULE_delimitedIdentifier);
3379 try {
3380 enterOuterAlt(_localctx, 1);
3381 {
3382 setState(1200);
3383 match(DELIMITED_IDENTIFIER_);
3384 }
3385 }
3386 catch (RecognitionException re) {
3387 _localctx.exception = re;
3388 _errHandler.reportError(this, re);
3389 _errHandler.recover(this, re);
3390 }
3391 finally {
3392 exitRule();
3393 }
3394 return _localctx;
3395 }
3396
3397 public static class UnreservedWordContext extends ParserRuleContext {
3398 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
3399 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
3400 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
3401 public TerminalNode LIMIT() { return getToken(SQLServerStatementParser.LIMIT, 0); }
3402 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
3403 public TerminalNode SAVEPOINT() { return getToken(SQLServerStatementParser.SAVEPOINT, 0); }
3404 public TerminalNode BOOLEAN() { return getToken(SQLServerStatementParser.BOOLEAN, 0); }
3405 public TerminalNode ARRAY() { return getToken(SQLServerStatementParser.ARRAY, 0); }
3406 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
3407 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
3408 public TerminalNode QUARTER() { return getToken(SQLServerStatementParser.QUARTER, 0); }
3409 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
3410 public TerminalNode MICROSECOND() { return getToken(SQLServerStatementParser.MICROSECOND, 0); }
3411 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
3412 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
3413 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
3414 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
3415 public TerminalNode MOD() { return getToken(SQLServerStatementParser.MOD, 0); }
3416 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
3417 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
3418 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
3419 public TerminalNode XOR() { return getToken(SQLServerStatementParser.XOR, 0); }
3420 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
3421 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
3422 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
3423 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
3424 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
3425 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
3426 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
3427 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
3428 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
3429 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
3430 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
3431 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
3432 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
3433 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
3434 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
3435 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
3436 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
3437 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
3438 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
3439 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
3440 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
3441 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
3442 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
3443 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
3444 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
3445 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
3446 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
3447 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
3448 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
3449 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
3450 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
3451 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
3452 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
3453 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
3454 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
3455 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
3456 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
3457 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
3458 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
3459 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
3460 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
3461 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
3462 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
3463 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
3464 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
3465 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
3466 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
3467 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
3468 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
3469 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
3470 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
3471 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
3472 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
3473 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
3474 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
3475 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
3476 public TerminalNode TRANCOUNT() { return getToken(SQLServerStatementParser.TRANCOUNT, 0); }
3477 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
3478 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
3479 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
3480 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
3481 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
3482 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
3483 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
3484 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
3485 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
3486 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
3487 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
3488 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
3489 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
3490 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
3491 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
3492 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
3493 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
3494 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
3495 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
3496 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
3497 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
3498 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
3499 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
3500 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
3501 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
3502 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
3503 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
3504 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
3505 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
3506 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
3507 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
3508 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
3509 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
3510 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
3511 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
3512 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
3513 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
3514 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
3515 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
3516 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
3517 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
3518 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
3519 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
3520 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
3521 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
3522 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
3523 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
3524 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
3525 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
3526 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
3527 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
3528 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
3529 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
3530 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
3531 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
3532 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
3533 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
3534 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
3535 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
3536 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
3537 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
3538 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
3539 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
3540 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
3541 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
3542 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
3543 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
3544 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
3545 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
3546 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
3547 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
3548 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
3549 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
3550 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
3551 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
3552 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
3553 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
3554 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
3555 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
3556 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
3557 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
3558 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
3559 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
3560 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
3561 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
3562 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
3563 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
3564 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
3565 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
3566 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
3567 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
3568 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
3569 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
3570 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
3571 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
3572 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
3573 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
3574 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
3575 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
3576 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
3577 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
3578 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
3579 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
3580 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
3581 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
3582 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
3583 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
3584 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
3585 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
3586 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
3587 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
3588 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
3589 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
3590 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
3591 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
3592 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
3593 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
3594 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
3595 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
3596 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
3597 public TerminalNode INSTANCE() { return getToken(SQLServerStatementParser.INSTANCE, 0); }
3598 public TerminalNode DO() { return getToken(SQLServerStatementParser.DO, 0); }
3599 public TerminalNode DEFINER() { return getToken(SQLServerStatementParser.DEFINER, 0); }
3600 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
3601 public TerminalNode CASCADED() { return getToken(SQLServerStatementParser.CASCADED, 0); }
3602 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
3603 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
3604 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
3605 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
3606 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
3607 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
3608 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
3609 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
3610 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
3611 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
3612 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
3613 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
3614 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
3615 public TerminalNode KB() { return getToken(SQLServerStatementParser.KB, 0); }
3616 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
3617 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
3618 public TerminalNode TB() { return getToken(SQLServerStatementParser.TB, 0); }
3619 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
3620 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
3621 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
3622 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
3623 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
3624 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
3625 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
3626 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
3627 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
3628 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
3629 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
3630 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
3631 public TerminalNode DATEPART() { return getToken(SQLServerStatementParser.DATEPART, 0); }
3632 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
3633 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
3634 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
3635 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
3636 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
3637 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
3638 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
3639 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
3640 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
3641 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
3642 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
3643 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
3644 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
3645 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
3646 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
3647 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
3648 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
3649 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
3650 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
3651 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
3652 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
3653 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
3654 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
3655 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
3656 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
3657 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
3658 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
3659 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
3660 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
3661 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
3662 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
3663 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
3664 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
3665 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
3666 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
3667 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
3668 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
3669 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
3670 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
3671 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
3672 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
3673 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
3674 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
3675 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
3676 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
3677 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
3678 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
3679 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
3680 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
3681 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
3682 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
3683 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
3684 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
3685 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
3686 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
3687 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
3688 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
3689 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
3690 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
3691 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
3692 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
3693 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
3694 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
3695 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
3696 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
3697 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
3698 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
3699 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
3700 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
3701 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
3702 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
3703 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
3704 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
3705 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
3706 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
3707 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
3708 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
3709 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
3710 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
3711 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
3712 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
3713 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
3714 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
3715 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
3716 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
3717 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
3718 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
3719 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
3720 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
3721 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
3722 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
3723 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
3724 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
3725 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
3726 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
3727 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
3728 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
3729 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
3730 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
3731 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
3732 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
3733 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
3734 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
3735 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
3736 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
3737 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
3738 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
3739 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
3740 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
3741 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
3742 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
3743 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
3744 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
3745 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
3746 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
3747 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
3748 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
3749 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
3750 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
3751 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
3752 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
3753 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
3754 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
3755 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
3756 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
3757 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
3758 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
3759 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
3760 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
3761 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
3762 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
3763 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
3764 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
3765 public TerminalNode SECOND() { return getToken(SQLServerStatementParser.SECOND, 0); }
3766 public TerminalNode PRECISION() { return getToken(SQLServerStatementParser.PRECISION, 0); }
3767 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
3768 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
3769 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
3770 public TerminalNode SUBSTRING() { return getToken(SQLServerStatementParser.SUBSTRING, 0); }
3771 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
3772 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
3773 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
3774 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
3775 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
3776 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
3777 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
3778 public TerminalNode TRIM() { return getToken(SQLServerStatementParser.TRIM, 0); }
3779 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
3780 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
3781 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
3782 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
3783 public UnreservedWordContext(ParserRuleContext parent, int invokingState) {
3784 super(parent, invokingState);
3785 }
3786 @Override public int getRuleIndex() { return RULE_unreservedWord; }
3787 @Override
3788 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3789 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnreservedWord(this);
3790 else return visitor.visitChildren(this);
3791 }
3792 }
3793
3794 public final UnreservedWordContext unreservedWord() throws RecognitionException {
3795 UnreservedWordContext _localctx = new UnreservedWordContext(_ctx, getState());
3796 enterRule(_localctx, 48, RULE_unreservedWord);
3797 int _la;
3798 try {
3799 enterOuterAlt(_localctx, 1);
3800 {
3801 setState(1202);
3802 _la = _input.LA(1);
3803 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (RIGHT - 69)) | (1L << (OFF - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (DATE - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (USER - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (AUTO - 267)) | (1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 332)) & ~0x3f) == 0 && ((1L << (_la - 332)) & ((1L << (CONTROL - 332)) | (1L << (CONCAT - 332)) | (1L << (TAKE - 332)) | (1L << (OWNERSHIP - 332)) | (1L << (DEFINITION - 332)) | (1L << (APPLICATION - 332)) | (1L << (ASSEMBLY - 332)) | (1L << (SYMMETRIC - 332)) | (1L << (ASYMMETRIC - 332)) | (1L << (SERVER - 332)) | (1L << (RECEIVE - 332)) | (1L << (CHANGE - 332)) | (1L << (TRACE - 332)) | (1L << (TRACKING - 332)) | (1L << (RESOURCES - 332)) | (1L << (SETTINGS - 332)) | (1L << (STATE - 332)) | (1L << (AVAILABILITY - 332)) | (1L << (CREDENTIAL - 332)) | (1L << (ENDPOINT - 332)) | (1L << (EVENT - 332)) | (1L << (NOTIFICATION - 332)) | (1L << (LINKED - 332)) | (1L << (AUDIT - 332)) | (1L << (DDL - 332)) | (1L << (XML - 332)) | (1L << (IMPERSONATE - 332)) | (1L << (SECURABLES - 332)) | (1L << (AUTHENTICATE - 332)) | (1L << (EXTERNAL - 332)) | (1L << (ACCESS - 332)) | (1L << (ADMINISTER - 332)) | (1L << (BULK - 332)) | (1L << (OPERATIONS - 332)) | (1L << (UNSAFE - 332)) | (1L << (SHUTDOWN - 332)) | (1L << (SCOPED - 332)) | (1L << (CONFIGURATION - 332)) | (1L << (DATASPACE - 332)) | (1L << (SERVICE - 332)) | (1L << (CERTIFICATE - 332)) | (1L << (CONTRACT - 332)) | (1L << (ENCRYPTION - 332)) | (1L << (MASTER - 332)) | (1L << (DATA - 332)) | (1L << (SOURCE - 332)) | (1L << (FILE - 332)) | (1L << (FORMAT - 332)) | (1L << (LIBRARY - 332)) | (1L << (FULLTEXT - 332)) | (1L << (MASK - 332)) | (1L << (UNMASK - 332)) | (1L << (MESSAGE - 332)) | (1L << (REMOTE - 332)) | (1L << (BINDING - 332)) | (1L << (ROUTE - 332)) | (1L << (SECURITY - 332)) | (1L << (POLICY - 332)) | (1L << (AGGREGATE - 332)) | (1L << (QUEUE - 332)) | (1L << (RULE - 332)) | (1L << (SYNONYM - 332)) | (1L << (COLLECTION - 332)) | (1L << (SCRIPT - 332)))) != 0) || ((((_la - 396)) & ~0x3f) == 0 && ((1L << (_la - 396)) & ((1L << (KILL - 396)) | (1L << (BACKUP - 396)) | (1L << (LOG - 396)) | (1L << (SHOWPLAN - 396)) | (1L << (SUBSCRIBE - 396)) | (1L << (QUERY - 396)) | (1L << (NOTIFICATIONS - 396)) | (1L << (CHECKPOINT - 396)) | (1L << (SEQUENCE - 396)) | (1L << (ABORT_AFTER_WAIT - 396)) | (1L << (ALLOW_PAGE_LOCKS - 396)) | (1L << (ALLOW_ROW_LOCKS - 396)) | (1L << (ALL_SPARSE_COLUMNS - 396)) | (1L << (BUCKET_COUNT - 396)) | (1L << (COLUMNSTORE_ARCHIVE - 396)) | (1L << (COLUMN_ENCRYPTION_KEY - 396)) | (1L << (COLUMN_SET - 396)) | (1L << (COMPRESSION_DELAY - 396)) | (1L << (DATABASE_DEAULT - 396)) | (1L << (DATA_COMPRESSION - 396)) | (1L << (DATA_CONSISTENCY_CHECK - 396)) | (1L << (ENCRYPTION_TYPE - 396)) | (1L << (SYSTEM_TIME - 396)) | (1L << (SYSTEM_VERSIONING - 396)) | (1L << (TEXTIMAGE_ON - 396)) | (1L << (WAIT_AT_LOW_PRIORITY - 396)) | (1L << (STATISTICS_INCREMENTAL - 396)) | (1L << (STATISTICS_NORECOMPUTE - 396)) | (1L << (ROUND_ROBIN - 396)) | (1L << (SCHEMA_AND_DATA - 396)) | (1L << (SCHEMA_ONLY - 396)) | (1L << (SORT_IN_TEMPDB - 396)) | (1L << (IGNORE_DUP_KEY - 396)) | (1L << (IMPLICIT_TRANSACTIONS - 396)) | (1L << (MAX_DURATION - 396)) | (1L << (MEMORY_OPTIMIZED - 396)) | (1L << (MIGRATION_STATE - 396)) | (1L << (PAD_INDEX - 396)) | (1L << (REMOTE_DATA_ARCHIVE - 396)) | (1L << (FILESTREAM_ON - 396)) | (1L << (FILETABLE_COLLATE_FILENAME - 396)) | (1L << (FILETABLE_DIRECTORY - 396)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILTER_PREDICATE - 396)) | (1L << (HISTORY_RETENTION_PERIOD - 396)) | (1L << (HISTORY_TABLE - 396)) | (1L << (LOCK_ESCALATION - 396)) | (1L << (DROP_EXISTING - 396)) | (1L << (ROW_NUMBER - 396)) | (1L << (FIRST - 396)) | (1L << (DATETIME2 - 396)))) != 0) || ((((_la - 466)) & ~0x3f) == 0 && ((1L << (_la - 466)) & ((1L << (OUTPUT - 466)) | (1L << (INSERTED - 466)) | (1L << (DELETED - 466)) | (1L << (FILENAME - 466)) | (1L << (SIZE - 466)) | (1L << (MAXSIZE - 466)) | (1L << (FILEGROWTH - 466)) | (1L << (UNLIMITED - 466)) | (1L << (KB - 466)) | (1L << (MB - 466)) | (1L << (GB - 466)) | (1L << (TB - 466)) | (1L << (CONTAINS - 466)) | (1L << (MEMORY_OPTIMIZED_DATA - 466)) | (1L << (FILEGROUP - 466)) | (1L << (NON_TRANSACTED_ACCESS - 466)) | (1L << (DB_CHAINING - 466)) | (1L << (TRUSTWORTHY - 466)) | (1L << (FORWARD_ONLY - 466)) | (1L << (KEYSET - 466)) | (1L << (FAST_FORWARD - 466)) | (1L << (SCROLL_LOCKS - 466)) | (1L << (OPTIMISTIC - 466)) | (1L << (TYPE_WARNING - 466)) | (1L << (SCHEMABINDING - 466)))) != 0) || ((((_la - 530)) & ~0x3f) == 0 && ((1L << (_la - 530)) & ((1L << (CALLER - 530)) | (1L << (INPUT - 530)) | (1L << (OWNER - 530)) | (1L << (SNAPSHOT - 530)) | (1L << (REPEATABLE - 530)) | (1L << (SERIALIZABLE - 530)) | (1L << (NATIVE_COMPILATION - 530)) | (1L << (VIEW_METADATA - 530)) | (1L << (INSTEAD - 530)) | (1L << (APPEND - 530)) | (1L << (INCREMENT - 530)) | (1L << (CACHE - 530)) | (1L << (MINVALUE - 530)) | (1L << (MAXVALUE - 530)) | (1L << (RESTART - 530)) | (1L << (LOB_COMPACTION - 530)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 530)) | (1L << (REORGANIZE - 530)) | (1L << (RESUME - 530)) | (1L << (PAUSE - 530)) | (1L << (ABORT - 530)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 530)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 530)) | (1L << (IMMEDIATE - 530)) | (1L << (NO_WAIT - 530)) | (1L << (TARGET_RECOVERY_TIME - 530)) | (1L << (SECONDS - 530)) | (1L << (HONOR_BROKER_PRIORITY - 530)) | (1L << (ERROR_BROKER_CONVERSATIONS - 530)) | (1L << (NEW_BROKER - 530)) | (1L << (DISABLE_BROKER - 530)) | (1L << (ENABLE_BROKER - 530)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 530)) | (1L << (READ_COMMITTED_SNAPSHOT - 530)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 530)) | (1L << (RECURSIVE_TRIGGERS - 530)) | (1L << (QUOTED_IDENTIFIER - 530)) | (1L << (NUMERIC_ROUNDABORT - 530)) | (1L << (CONCAT_NULL_YIELDS_NULL - 530)) | (1L << (COMPATIBILITY_LEVEL - 530)) | (1L << (ARITHABORT - 530)) | (1L << (ANSI_WARNINGS - 530)) | (1L << (ANSI_PADDING - 530)) | (1L << (ANSI_NULLS - 530)))) != 0) || ((((_la - 594)) & ~0x3f) == 0 && ((1L << (_la - 594)) & ((1L << (ANSI_NULL_DEFAULT - 594)) | (1L << (PAGE_VERIFY - 594)) | (1L << (CHECKSUM - 594)) | (1L << (TORN_PAGE_DETECTION - 594)) | (1L << (BULK_LOGGED - 594)) | (1L << (RECOVERY - 594)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 594)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 594)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 594)) | (1L << (EXECUTION_COUNT - 594)) | (1L << (QUERY_CAPTURE_POLICY - 594)) | (1L << (WAIT_STATS_CAPTURE_MODE - 594)) | (1L << (MAX_PLANS_PER_QUERY - 594)) | (1L << (QUERY_CAPTURE_MODE - 594)) | (1L << (SIZE_BASED_CLEANUP_MODE - 594)) | (1L << (INTERVAL_LENGTH_MINUTES - 594)) | (1L << (MAX_STORAGE_SIZE_MB - 594)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 594)) | (1L << (CLEANUP_POLICY - 594)) | (1L << (CUSTOM - 594)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 594)) | (1L << (OPERATION_MODE - 594)) | (1L << (QUERY_STORE - 594)) | (1L << (CURSOR_DEFAULT - 594)) | (1L << (GLOBAL - 594)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 594)) | (1L << (HOURS - 594)) | (1L << (CHANGE_RETENTION - 594)) | (1L << (AUTO_CLEANUP - 594)) | (1L << (CHANGE_TRACKING - 594)) | (1L << (AUTOMATIC_TUNING - 594)) | (1L << (FORCE_LAST_GOOD_PLAN - 594)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 594)) | (1L << (AUTO_UPDATE_STATISTICS - 594)) | (1L << (AUTO_SHRINK - 594)) | (1L << (AUTO_CREATE_STATISTICS - 594)) | (1L << (INCREMENTAL - 594)) | (1L << (AUTO_CLOSE - 594)) | (1L << (DATA_RETENTION - 594)) | (1L << (TEMPORAL_HISTORY_RETENTION - 594)) | (1L << (EDITION - 594)) | (1L << (MIXED_PAGE_ALLOCATION - 594)) | (1L << (DISABLED - 594)) | (1L << (ALLOWED - 594)) | (1L << (HADR - 594)) | (1L << (MULTI_USER - 594)) | (1L << (RESTRICTED_USER - 594)) | (1L << (SINGLE_USER - 594)) | (1L << (OFFLINE - 594)) | (1L << (EMERGENCY - 594)) | (1L << (SUSPEND - 594)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 594)) | (1L << (ELASTIC_POOL - 594)) | (1L << (SERVICE_OBJECTIVE - 594)) | (1L << (DATABASE_NAME - 594)) | (1L << (ALLOW_CONNECTIONS - 594)) | (1L << (GEO - 594)) | (1L << (NAMED - 594)) | (1L << (DATEFIRST - 594)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 594)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 594)) | (1L << (SECONDARY - 594)) | (1L << (FAILOVER - 594)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 594)))) != 0) || ((((_la - 658)) & ~0x3f) == 0 && ((1L << (_la - 658)) & ((1L << (DEFAULT_LANGUAGE - 658)) | (1L << (INLINE - 658)) | (1L << (NESTED_TRIGGERS - 658)) | (1L << (TRANSFORM_NOISE_WORDS - 658)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 658)) | (1L << (PERSISTENT_LOG_BUFFER - 658)) | (1L << (DIRECTORY_NAME - 658)) | (1L << (DATEFORMAT - 658)) | (1L << (DELAYED_DURABILITY - 658)) | (1L << (AUTHORIZATION - 658)) | (1L << (TRANSFER - 658)) | (1L << (PROVIDER - 658)) | (1L << (SID - 658)) | (1L << (SEARCH - 658)) | (1L << (MEMBER - 658)) | (1L << (JSON - 658)))) != 0)) ) {
3804 _errHandler.recoverInline(this);
3805 }
3806 else {
3807 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3808 _errHandler.reportMatch(this);
3809 consume();
3810 }
3811 }
3812 }
3813 catch (RecognitionException re) {
3814 _localctx.exception = re;
3815 _errHandler.reportError(this, re);
3816 _errHandler.recover(this, re);
3817 }
3818 finally {
3819 exitRule();
3820 }
3821 return _localctx;
3822 }
3823
3824 public static class DatabaseNameContext extends ParserRuleContext {
3825 public IdentifierContext identifier() {
3826 return getRuleContext(IdentifierContext.class,0);
3827 }
3828 public DatabaseNameContext(ParserRuleContext parent, int invokingState) {
3829 super(parent, invokingState);
3830 }
3831 @Override public int getRuleIndex() { return RULE_databaseName; }
3832 @Override
3833 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3834 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseName(this);
3835 else return visitor.visitChildren(this);
3836 }
3837 }
3838
3839 public final DatabaseNameContext databaseName() throws RecognitionException {
3840 DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState());
3841 enterRule(_localctx, 50, RULE_databaseName);
3842 try {
3843 enterOuterAlt(_localctx, 1);
3844 {
3845 setState(1204);
3846 identifier();
3847 }
3848 }
3849 catch (RecognitionException re) {
3850 _localctx.exception = re;
3851 _errHandler.reportError(this, re);
3852 _errHandler.recover(this, re);
3853 }
3854 finally {
3855 exitRule();
3856 }
3857 return _localctx;
3858 }
3859
3860 public static class SchemaNameContext extends ParserRuleContext {
3861 public IdentifierContext identifier() {
3862 return getRuleContext(IdentifierContext.class,0);
3863 }
3864 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
3865 super(parent, invokingState);
3866 }
3867 @Override public int getRuleIndex() { return RULE_schemaName; }
3868 @Override
3869 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3870 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaName(this);
3871 else return visitor.visitChildren(this);
3872 }
3873 }
3874
3875 public final SchemaNameContext schemaName() throws RecognitionException {
3876 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
3877 enterRule(_localctx, 52, RULE_schemaName);
3878 try {
3879 enterOuterAlt(_localctx, 1);
3880 {
3881 setState(1206);
3882 identifier();
3883 }
3884 }
3885 catch (RecognitionException re) {
3886 _localctx.exception = re;
3887 _errHandler.reportError(this, re);
3888 _errHandler.recover(this, re);
3889 }
3890 finally {
3891 exitRule();
3892 }
3893 return _localctx;
3894 }
3895
3896 public static class FunctionNameContext extends ParserRuleContext {
3897 public NameContext name() {
3898 return getRuleContext(NameContext.class,0);
3899 }
3900 public OwnerContext owner() {
3901 return getRuleContext(OwnerContext.class,0);
3902 }
3903 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3904 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
3905 super(parent, invokingState);
3906 }
3907 @Override public int getRuleIndex() { return RULE_functionName; }
3908 @Override
3909 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3910 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionName(this);
3911 else return visitor.visitChildren(this);
3912 }
3913 }
3914
3915 public final FunctionNameContext functionName() throws RecognitionException {
3916 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
3917 enterRule(_localctx, 54, RULE_functionName);
3918 try {
3919 enterOuterAlt(_localctx, 1);
3920 {
3921 setState(1211);
3922 _errHandler.sync(this);
3923 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
3924 case 1:
3925 {
3926 setState(1208);
3927 owner();
3928 setState(1209);
3929 match(DOT_);
3930 }
3931 break;
3932 }
3933 setState(1213);
3934 name();
3935 }
3936 }
3937 catch (RecognitionException re) {
3938 _localctx.exception = re;
3939 _errHandler.reportError(this, re);
3940 _errHandler.recover(this, re);
3941 }
3942 finally {
3943 exitRule();
3944 }
3945 return _localctx;
3946 }
3947
3948 public static class ProcedureNameContext extends ParserRuleContext {
3949 public NameContext name() {
3950 return getRuleContext(NameContext.class,0);
3951 }
3952 public OwnerContext owner() {
3953 return getRuleContext(OwnerContext.class,0);
3954 }
3955 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3956 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
3957 public NumberLiteralsContext numberLiterals() {
3958 return getRuleContext(NumberLiteralsContext.class,0);
3959 }
3960 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
3961 super(parent, invokingState);
3962 }
3963 @Override public int getRuleIndex() { return RULE_procedureName; }
3964 @Override
3965 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3966 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcedureName(this);
3967 else return visitor.visitChildren(this);
3968 }
3969 }
3970
3971 public final ProcedureNameContext procedureName() throws RecognitionException {
3972 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
3973 enterRule(_localctx, 56, RULE_procedureName);
3974 try {
3975 enterOuterAlt(_localctx, 1);
3976 {
3977 setState(1218);
3978 _errHandler.sync(this);
3979 switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
3980 case 1:
3981 {
3982 setState(1215);
3983 owner();
3984 setState(1216);
3985 match(DOT_);
3986 }
3987 break;
3988 }
3989 setState(1220);
3990 name();
3991 setState(1223);
3992 _errHandler.sync(this);
3993 switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
3994 case 1:
3995 {
3996 setState(1221);
3997 match(SEMI_);
3998 setState(1222);
3999 numberLiterals();
4000 }
4001 break;
4002 }
4003 }
4004 }
4005 catch (RecognitionException re) {
4006 _localctx.exception = re;
4007 _errHandler.reportError(this, re);
4008 _errHandler.recover(this, re);
4009 }
4010 finally {
4011 exitRule();
4012 }
4013 return _localctx;
4014 }
4015
4016 public static class ViewNameContext extends ParserRuleContext {
4017 public NameContext name() {
4018 return getRuleContext(NameContext.class,0);
4019 }
4020 public OwnerContext owner() {
4021 return getRuleContext(OwnerContext.class,0);
4022 }
4023 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4024 public ViewNameContext(ParserRuleContext parent, int invokingState) {
4025 super(parent, invokingState);
4026 }
4027 @Override public int getRuleIndex() { return RULE_viewName; }
4028 @Override
4029 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4030 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewName(this);
4031 else return visitor.visitChildren(this);
4032 }
4033 }
4034
4035 public final ViewNameContext viewName() throws RecognitionException {
4036 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
4037 enterRule(_localctx, 58, RULE_viewName);
4038 try {
4039 enterOuterAlt(_localctx, 1);
4040 {
4041 setState(1228);
4042 _errHandler.sync(this);
4043 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
4044 case 1:
4045 {
4046 setState(1225);
4047 owner();
4048 setState(1226);
4049 match(DOT_);
4050 }
4051 break;
4052 }
4053 setState(1230);
4054 name();
4055 }
4056 }
4057 catch (RecognitionException re) {
4058 _localctx.exception = re;
4059 _errHandler.reportError(this, re);
4060 _errHandler.recover(this, re);
4061 }
4062 finally {
4063 exitRule();
4064 }
4065 return _localctx;
4066 }
4067
4068 public static class TriggerNameContext extends ParserRuleContext {
4069 public NameContext name() {
4070 return getRuleContext(NameContext.class,0);
4071 }
4072 public SchemaNameContext schemaName() {
4073 return getRuleContext(SchemaNameContext.class,0);
4074 }
4075 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4076 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
4077 super(parent, invokingState);
4078 }
4079 @Override public int getRuleIndex() { return RULE_triggerName; }
4080 @Override
4081 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4082 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerName(this);
4083 else return visitor.visitChildren(this);
4084 }
4085 }
4086
4087 public final TriggerNameContext triggerName() throws RecognitionException {
4088 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
4089 enterRule(_localctx, 60, RULE_triggerName);
4090 try {
4091 enterOuterAlt(_localctx, 1);
4092 {
4093 setState(1235);
4094 _errHandler.sync(this);
4095 switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
4096 case 1:
4097 {
4098 setState(1232);
4099 schemaName();
4100 setState(1233);
4101 match(DOT_);
4102 }
4103 break;
4104 }
4105 setState(1237);
4106 name();
4107 }
4108 }
4109 catch (RecognitionException re) {
4110 _localctx.exception = re;
4111 _errHandler.reportError(this, re);
4112 _errHandler.recover(this, re);
4113 }
4114 finally {
4115 exitRule();
4116 }
4117 return _localctx;
4118 }
4119
4120 public static class SequenceNameContext extends ParserRuleContext {
4121 public NameContext name() {
4122 return getRuleContext(NameContext.class,0);
4123 }
4124 public SchemaNameContext schemaName() {
4125 return getRuleContext(SchemaNameContext.class,0);
4126 }
4127 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4128 public SequenceNameContext(ParserRuleContext parent, int invokingState) {
4129 super(parent, invokingState);
4130 }
4131 @Override public int getRuleIndex() { return RULE_sequenceName; }
4132 @Override
4133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSequenceName(this);
4135 else return visitor.visitChildren(this);
4136 }
4137 }
4138
4139 public final SequenceNameContext sequenceName() throws RecognitionException {
4140 SequenceNameContext _localctx = new SequenceNameContext(_ctx, getState());
4141 enterRule(_localctx, 62, RULE_sequenceName);
4142 try {
4143 enterOuterAlt(_localctx, 1);
4144 {
4145 setState(1242);
4146 _errHandler.sync(this);
4147 switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
4148 case 1:
4149 {
4150 setState(1239);
4151 schemaName();
4152 setState(1240);
4153 match(DOT_);
4154 }
4155 break;
4156 }
4157 setState(1244);
4158 name();
4159 }
4160 }
4161 catch (RecognitionException re) {
4162 _localctx.exception = re;
4163 _errHandler.reportError(this, re);
4164 _errHandler.recover(this, re);
4165 }
4166 finally {
4167 exitRule();
4168 }
4169 return _localctx;
4170 }
4171
4172 public static class TableNameContext extends ParserRuleContext {
4173 public NameContext name() {
4174 return getRuleContext(NameContext.class,0);
4175 }
4176 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4177 public TerminalNode DOT_(int i) {
4178 return getToken(SQLServerStatementParser.DOT_, i);
4179 }
4180 public DatabaseNameContext databaseName() {
4181 return getRuleContext(DatabaseNameContext.class,0);
4182 }
4183 public OwnerContext owner() {
4184 return getRuleContext(OwnerContext.class,0);
4185 }
4186 public TableNameContext(ParserRuleContext parent, int invokingState) {
4187 super(parent, invokingState);
4188 }
4189 @Override public int getRuleIndex() { return RULE_tableName; }
4190 @Override
4191 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4192 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableName(this);
4193 else return visitor.visitChildren(this);
4194 }
4195 }
4196
4197 public final TableNameContext tableName() throws RecognitionException {
4198 TableNameContext _localctx = new TableNameContext(_ctx, getState());
4199 enterRule(_localctx, 64, RULE_tableName);
4200 int _la;
4201 try {
4202 enterOuterAlt(_localctx, 1);
4203 {
4204 setState(1255);
4205 _errHandler.sync(this);
4206 switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
4207 case 1:
4208 {
4209 setState(1249);
4210 _errHandler.sync(this);
4211 switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
4212 case 1:
4213 {
4214 setState(1246);
4215 databaseName();
4216 setState(1247);
4217 match(DOT_);
4218 }
4219 break;
4220 }
4221 {
4222 setState(1252);
4223 _errHandler.sync(this);
4224 _la = _input.LA(1);
4225 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (RIGHT - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (TOP - 248)) | (1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (USER - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANDOMIZED - 312)) | (1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (DATA - 376)) | (1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 440)) | (1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
4226 {
4227 setState(1251);
4228 owner();
4229 }
4230 }
4231
4232 setState(1254);
4233 match(DOT_);
4234 }
4235 }
4236 break;
4237 }
4238 setState(1257);
4239 name();
4240 }
4241 }
4242 catch (RecognitionException re) {
4243 _localctx.exception = re;
4244 _errHandler.reportError(this, re);
4245 _errHandler.recover(this, re);
4246 }
4247 finally {
4248 exitRule();
4249 }
4250 return _localctx;
4251 }
4252
4253 public static class QueueNameContext extends ParserRuleContext {
4254 public NameContext name() {
4255 return getRuleContext(NameContext.class,0);
4256 }
4257 public SchemaNameContext schemaName() {
4258 return getRuleContext(SchemaNameContext.class,0);
4259 }
4260 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4261 public QueueNameContext(ParserRuleContext parent, int invokingState) {
4262 super(parent, invokingState);
4263 }
4264 @Override public int getRuleIndex() { return RULE_queueName; }
4265 @Override
4266 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4267 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueueName(this);
4268 else return visitor.visitChildren(this);
4269 }
4270 }
4271
4272 public final QueueNameContext queueName() throws RecognitionException {
4273 QueueNameContext _localctx = new QueueNameContext(_ctx, getState());
4274 enterRule(_localctx, 66, RULE_queueName);
4275 try {
4276 enterOuterAlt(_localctx, 1);
4277 {
4278 setState(1262);
4279 _errHandler.sync(this);
4280 switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
4281 case 1:
4282 {
4283 setState(1259);
4284 schemaName();
4285 setState(1260);
4286 match(DOT_);
4287 }
4288 break;
4289 }
4290 setState(1264);
4291 name();
4292 }
4293 }
4294 catch (RecognitionException re) {
4295 _localctx.exception = re;
4296 _errHandler.reportError(this, re);
4297 _errHandler.recover(this, re);
4298 }
4299 finally {
4300 exitRule();
4301 }
4302 return _localctx;
4303 }
4304
4305 public static class ContractNameContext extends ParserRuleContext {
4306 public NameContext name() {
4307 return getRuleContext(NameContext.class,0);
4308 }
4309 public ContractNameContext(ParserRuleContext parent, int invokingState) {
4310 super(parent, invokingState);
4311 }
4312 @Override public int getRuleIndex() { return RULE_contractName; }
4313 @Override
4314 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4315 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitContractName(this);
4316 else return visitor.visitChildren(this);
4317 }
4318 }
4319
4320 public final ContractNameContext contractName() throws RecognitionException {
4321 ContractNameContext _localctx = new ContractNameContext(_ctx, getState());
4322 enterRule(_localctx, 68, RULE_contractName);
4323 try {
4324 enterOuterAlt(_localctx, 1);
4325 {
4326 setState(1266);
4327 name();
4328 }
4329 }
4330 catch (RecognitionException re) {
4331 _localctx.exception = re;
4332 _errHandler.reportError(this, re);
4333 _errHandler.recover(this, re);
4334 }
4335 finally {
4336 exitRule();
4337 }
4338 return _localctx;
4339 }
4340
4341 public static class ServiceNameContext extends ParserRuleContext {
4342 public NameContext name() {
4343 return getRuleContext(NameContext.class,0);
4344 }
4345 public ServiceNameContext(ParserRuleContext parent, int invokingState) {
4346 super(parent, invokingState);
4347 }
4348 @Override public int getRuleIndex() { return RULE_serviceName; }
4349 @Override
4350 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4351 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceName(this);
4352 else return visitor.visitChildren(this);
4353 }
4354 }
4355
4356 public final ServiceNameContext serviceName() throws RecognitionException {
4357 ServiceNameContext _localctx = new ServiceNameContext(_ctx, getState());
4358 enterRule(_localctx, 70, RULE_serviceName);
4359 try {
4360 enterOuterAlt(_localctx, 1);
4361 {
4362 setState(1268);
4363 name();
4364 }
4365 }
4366 catch (RecognitionException re) {
4367 _localctx.exception = re;
4368 _errHandler.reportError(this, re);
4369 _errHandler.recover(this, re);
4370 }
4371 finally {
4372 exitRule();
4373 }
4374 return _localctx;
4375 }
4376
4377 public static class ColumnNameContext extends ParserRuleContext {
4378 public NameContext name() {
4379 return getRuleContext(NameContext.class,0);
4380 }
4381 public ScriptVariableNameContext scriptVariableName() {
4382 return getRuleContext(ScriptVariableNameContext.class,0);
4383 }
4384 public OwnerContext owner() {
4385 return getRuleContext(OwnerContext.class,0);
4386 }
4387 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4388 public TerminalNode DOT_(int i) {
4389 return getToken(SQLServerStatementParser.DOT_, i);
4390 }
4391 public DatabaseNameContext databaseName() {
4392 return getRuleContext(DatabaseNameContext.class,0);
4393 }
4394 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
4395 super(parent, invokingState);
4396 }
4397 @Override public int getRuleIndex() { return RULE_columnName; }
4398 @Override
4399 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4400 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnName(this);
4401 else return visitor.visitChildren(this);
4402 }
4403 }
4404
4405 public final ColumnNameContext columnName() throws RecognitionException {
4406 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
4407 enterRule(_localctx, 72, RULE_columnName);
4408 try {
4409 enterOuterAlt(_localctx, 1);
4410 {
4411 setState(1278);
4412 _errHandler.sync(this);
4413 switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
4414 case 1:
4415 {
4416 setState(1273);
4417 _errHandler.sync(this);
4418 switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
4419 case 1:
4420 {
4421 setState(1270);
4422 databaseName();
4423 setState(1271);
4424 match(DOT_);
4425 }
4426 break;
4427 }
4428 {
4429 setState(1275);
4430 owner();
4431 setState(1276);
4432 match(DOT_);
4433 }
4434 }
4435 break;
4436 }
4437 setState(1282);
4438 _errHandler.sync(this);
4439 switch (_input.LA(1)) {
4440 case TRUNCATE:
4441 case SCHEMA:
4442 case COLUMNS:
4443 case PRECISION:
4444 case FUNCTION:
4445 case TRIGGER:
4446 case CAST:
4447 case TRIM:
4448 case SUBSTRING:
4449 case RIGHT:
4450 case OFF:
4451 case GROUP:
4452 case LIMIT:
4453 case OFFSET:
4454 case SAVEPOINT:
4455 case BOOLEAN:
4456 case ARRAY:
4457 case DATE:
4458 case TIMESTAMP:
4459 case LOCALTIME:
4460 case LOCALTIMESTAMP:
4461 case YEAR:
4462 case QUARTER:
4463 case MONTH:
4464 case WEEK:
4465 case DAY:
4466 case SECOND:
4467 case MICROSECOND:
4468 case MAX:
4469 case MIN:
4470 case SUM:
4471 case COUNT:
4472 case AVG:
4473 case ENABLE:
4474 case DISABLE:
4475 case INSTANCE:
4476 case DO:
4477 case DEFINER:
4478 case SQL:
4479 case CASCADED:
4480 case LOCAL:
4481 case NEXT:
4482 case NAME:
4483 case INTEGER:
4484 case TYPE:
4485 case TEXT:
4486 case VIEWS:
4487 case READ_ONLY:
4488 case DATABASE:
4489 case RETURNS:
4490 case DATEPART:
4491 case PASSWORD:
4492 case BINARY:
4493 case HIDDEN_:
4494 case MOD:
4495 case PARTITION:
4496 case PARTITIONS:
4497 case TOP:
4498 case ROW:
4499 case ROWS:
4500 case XOR:
4501 case ALWAYS:
4502 case USER:
4503 case ROLE:
4504 case START:
4505 case ALGORITHM:
4506 case AUTO:
4507 case BLOCKERS:
4508 case CLUSTERED:
4509 case NONCLUSTERED:
4510 case COLUMNSTORE:
4511 case CONTENT:
4512 case YEARS:
4513 case MONTHS:
4514 case WEEKS:
4515 case DAYS:
4516 case MINUTES:
4517 case DENY:
4518 case DETERMINISTIC:
4519 case DISTRIBUTION:
4520 case DOCUMENT:
4521 case DURABILITY:
4522 case ENCRYPTED:
4523 case FILESTREAM:
4524 case FILETABLE:
4525 case FILLFACTOR:
4526 case FOLLOWING:
4527 case HASH:
4528 case HEAP:
4529 case INBOUND:
4530 case OUTBOUND:
4531 case UNBOUNDED:
4532 case INFINITE:
4533 case LOGIN:
4534 case MASKED:
4535 case MAXDOP:
4536 case MOVE:
4537 case NOCHECK:
4538 case OBJECT:
4539 case ONLINE:
4540 case OVER:
4541 case PAGE:
4542 case PAUSED:
4543 case PERIOD:
4544 case PERSISTED:
4545 case PRECEDING:
4546 case RANDOMIZED:
4547 case RANGE:
4548 case REBUILD:
4549 case REPLICATE:
4550 case REPLICATION:
4551 case RESUMABLE:
4552 case ROWGUIDCOL:
4553 case SAVE:
4554 case SELF:
4555 case SPARSE:
4556 case SWITCH:
4557 case TRAN:
4558 case TRANCOUNT:
4559 case CONTROL:
4560 case CONCAT:
4561 case TAKE:
4562 case OWNERSHIP:
4563 case DEFINITION:
4564 case APPLICATION:
4565 case ASSEMBLY:
4566 case SYMMETRIC:
4567 case ASYMMETRIC:
4568 case SERVER:
4569 case RECEIVE:
4570 case CHANGE:
4571 case TRACE:
4572 case TRACKING:
4573 case RESOURCES:
4574 case SETTINGS:
4575 case STATE:
4576 case AVAILABILITY:
4577 case CREDENTIAL:
4578 case ENDPOINT:
4579 case EVENT:
4580 case NOTIFICATION:
4581 case LINKED:
4582 case AUDIT:
4583 case DDL:
4584 case XML:
4585 case IMPERSONATE:
4586 case SECURABLES:
4587 case AUTHENTICATE:
4588 case EXTERNAL:
4589 case ACCESS:
4590 case ADMINISTER:
4591 case BULK:
4592 case OPERATIONS:
4593 case UNSAFE:
4594 case SHUTDOWN:
4595 case SCOPED:
4596 case CONFIGURATION:
4597 case DATASPACE:
4598 case SERVICE:
4599 case CERTIFICATE:
4600 case CONTRACT:
4601 case ENCRYPTION:
4602 case MASTER:
4603 case DATA:
4604 case SOURCE:
4605 case FILE:
4606 case FORMAT:
4607 case LIBRARY:
4608 case FULLTEXT:
4609 case MASK:
4610 case UNMASK:
4611 case MESSAGE:
4612 case REMOTE:
4613 case BINDING:
4614 case ROUTE:
4615 case SECURITY:
4616 case POLICY:
4617 case AGGREGATE:
4618 case QUEUE:
4619 case RULE:
4620 case SYNONYM:
4621 case COLLECTION:
4622 case SCRIPT:
4623 case KILL:
4624 case BACKUP:
4625 case LOG:
4626 case SHOWPLAN:
4627 case SUBSCRIBE:
4628 case QUERY:
4629 case NOTIFICATIONS:
4630 case CHECKPOINT:
4631 case SEQUENCE:
4632 case ABORT_AFTER_WAIT:
4633 case ALLOW_PAGE_LOCKS:
4634 case ALLOW_ROW_LOCKS:
4635 case ALL_SPARSE_COLUMNS:
4636 case BUCKET_COUNT:
4637 case COLUMNSTORE_ARCHIVE:
4638 case COLUMN_ENCRYPTION_KEY:
4639 case COLUMN_SET:
4640 case COMPRESSION_DELAY:
4641 case DATABASE_DEAULT:
4642 case DATA_COMPRESSION:
4643 case DATA_CONSISTENCY_CHECK:
4644 case ENCRYPTION_TYPE:
4645 case SYSTEM_TIME:
4646 case SYSTEM_VERSIONING:
4647 case TEXTIMAGE_ON:
4648 case WAIT_AT_LOW_PRIORITY:
4649 case STATISTICS_INCREMENTAL:
4650 case STATISTICS_NORECOMPUTE:
4651 case ROUND_ROBIN:
4652 case SCHEMA_AND_DATA:
4653 case SCHEMA_ONLY:
4654 case SORT_IN_TEMPDB:
4655 case IGNORE_DUP_KEY:
4656 case IMPLICIT_TRANSACTIONS:
4657 case MAX_DURATION:
4658 case MEMORY_OPTIMIZED:
4659 case MIGRATION_STATE:
4660 case PAD_INDEX:
4661 case REMOTE_DATA_ARCHIVE:
4662 case FILESTREAM_ON:
4663 case FILETABLE_COLLATE_FILENAME:
4664 case FILETABLE_DIRECTORY:
4665 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
4666 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
4667 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
4668 case FILTER_PREDICATE:
4669 case HISTORY_RETENTION_PERIOD:
4670 case HISTORY_TABLE:
4671 case LOCK_ESCALATION:
4672 case DROP_EXISTING:
4673 case ROW_NUMBER:
4674 case FIRST:
4675 case DATETIME2:
4676 case OUTPUT:
4677 case INSERTED:
4678 case DELETED:
4679 case FILENAME:
4680 case SIZE:
4681 case MAXSIZE:
4682 case FILEGROWTH:
4683 case UNLIMITED:
4684 case KB:
4685 case MB:
4686 case GB:
4687 case TB:
4688 case CONTAINS:
4689 case MEMORY_OPTIMIZED_DATA:
4690 case FILEGROUP:
4691 case NON_TRANSACTED_ACCESS:
4692 case DB_CHAINING:
4693 case TRUSTWORTHY:
4694 case FORWARD_ONLY:
4695 case KEYSET:
4696 case FAST_FORWARD:
4697 case SCROLL_LOCKS:
4698 case OPTIMISTIC:
4699 case TYPE_WARNING:
4700 case SCHEMABINDING:
4701 case CALLER:
4702 case INPUT:
4703 case OWNER:
4704 case SNAPSHOT:
4705 case REPEATABLE:
4706 case SERIALIZABLE:
4707 case NATIVE_COMPILATION:
4708 case VIEW_METADATA:
4709 case INSTEAD:
4710 case APPEND:
4711 case INCREMENT:
4712 case CACHE:
4713 case MINVALUE:
4714 case MAXVALUE:
4715 case RESTART:
4716 case LOB_COMPACTION:
4717 case COMPRESS_ALL_ROW_GROUPS:
4718 case REORGANIZE:
4719 case RESUME:
4720 case PAUSE:
4721 case ABORT:
4722 case ACCELERATED_DATABASE_RECOVERY:
4723 case PERSISTENT_VERSION_STORE_FILEGROUP:
4724 case IMMEDIATE:
4725 case NO_WAIT:
4726 case TARGET_RECOVERY_TIME:
4727 case SECONDS:
4728 case HONOR_BROKER_PRIORITY:
4729 case ERROR_BROKER_CONVERSATIONS:
4730 case NEW_BROKER:
4731 case DISABLE_BROKER:
4732 case ENABLE_BROKER:
4733 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
4734 case READ_COMMITTED_SNAPSHOT:
4735 case ALLOW_SNAPSHOT_ISOLATION:
4736 case RECURSIVE_TRIGGERS:
4737 case QUOTED_IDENTIFIER:
4738 case NUMERIC_ROUNDABORT:
4739 case CONCAT_NULL_YIELDS_NULL:
4740 case COMPATIBILITY_LEVEL:
4741 case ARITHABORT:
4742 case ANSI_WARNINGS:
4743 case ANSI_PADDING:
4744 case ANSI_NULLS:
4745 case ANSI_NULL_DEFAULT:
4746 case PAGE_VERIFY:
4747 case CHECKSUM:
4748 case TORN_PAGE_DETECTION:
4749 case BULK_LOGGED:
4750 case RECOVERY:
4751 case TOTAL_EXECUTION_CPU_TIME_MS:
4752 case TOTAL_COMPILE_CPU_TIME_MS:
4753 case STALE_CAPTURE_POLICY_THRESHOLD:
4754 case EXECUTION_COUNT:
4755 case QUERY_CAPTURE_POLICY:
4756 case WAIT_STATS_CAPTURE_MODE:
4757 case MAX_PLANS_PER_QUERY:
4758 case QUERY_CAPTURE_MODE:
4759 case SIZE_BASED_CLEANUP_MODE:
4760 case INTERVAL_LENGTH_MINUTES:
4761 case MAX_STORAGE_SIZE_MB:
4762 case DATA_FLUSH_INTERVAL_SECONDS:
4763 case CLEANUP_POLICY:
4764 case CUSTOM:
4765 case STALE_QUERY_THRESHOLD_DAYS:
4766 case OPERATION_MODE:
4767 case QUERY_STORE:
4768 case CURSOR_DEFAULT:
4769 case GLOBAL:
4770 case CURSOR_CLOSE_ON_COMMIT:
4771 case HOURS:
4772 case CHANGE_RETENTION:
4773 case AUTO_CLEANUP:
4774 case CHANGE_TRACKING:
4775 case AUTOMATIC_TUNING:
4776 case FORCE_LAST_GOOD_PLAN:
4777 case AUTO_UPDATE_STATISTICS_ASYNC:
4778 case AUTO_UPDATE_STATISTICS:
4779 case AUTO_SHRINK:
4780 case AUTO_CREATE_STATISTICS:
4781 case INCREMENTAL:
4782 case AUTO_CLOSE:
4783 case DATA_RETENTION:
4784 case TEMPORAL_HISTORY_RETENTION:
4785 case EDITION:
4786 case MIXED_PAGE_ALLOCATION:
4787 case DISABLED:
4788 case ALLOWED:
4789 case HADR:
4790 case MULTI_USER:
4791 case RESTRICTED_USER:
4792 case SINGLE_USER:
4793 case OFFLINE:
4794 case EMERGENCY:
4795 case SUSPEND:
4796 case DATE_CORRELATION_OPTIMIZATION:
4797 case ELASTIC_POOL:
4798 case SERVICE_OBJECTIVE:
4799 case DATABASE_NAME:
4800 case ALLOW_CONNECTIONS:
4801 case GEO:
4802 case NAMED:
4803 case DATEFIRST:
4804 case BACKUP_STORAGE_REDUNDANCY:
4805 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
4806 case SECONDARY:
4807 case FAILOVER:
4808 case DEFAULT_FULLTEXT_LANGUAGE:
4809 case DEFAULT_LANGUAGE:
4810 case INLINE:
4811 case NESTED_TRIGGERS:
4812 case TRANSFORM_NOISE_WORDS:
4813 case TWO_DIGIT_YEAR_CUTOFF:
4814 case PERSISTENT_LOG_BUFFER:
4815 case DIRECTORY_NAME:
4816 case DATEFORMAT:
4817 case DELAYED_DURABILITY:
4818 case AUTHORIZATION:
4819 case TRANSFER:
4820 case PROVIDER:
4821 case SID:
4822 case SEARCH:
4823 case MEMBER:
4824 case JSON:
4825 case IDENTIFIER_:
4826 case DELIMITED_IDENTIFIER_:
4827 {
4828 setState(1280);
4829 name();
4830 }
4831 break;
4832 case DOLLAR_:
4833 {
4834 setState(1281);
4835 scriptVariableName();
4836 }
4837 break;
4838 default:
4839 throw new NoViableAltException(this);
4840 }
4841 }
4842 }
4843 catch (RecognitionException re) {
4844 _localctx.exception = re;
4845 _errHandler.reportError(this, re);
4846 _errHandler.recover(this, re);
4847 }
4848 finally {
4849 exitRule();
4850 }
4851 return _localctx;
4852 }
4853
4854 public static class ScriptVariableNameContext extends ParserRuleContext {
4855 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
4856 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4857 public NameContext name() {
4858 return getRuleContext(NameContext.class,0);
4859 }
4860 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4861 public ScriptVariableNameContext(ParserRuleContext parent, int invokingState) {
4862 super(parent, invokingState);
4863 }
4864 @Override public int getRuleIndex() { return RULE_scriptVariableName; }
4865 @Override
4866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScriptVariableName(this);
4868 else return visitor.visitChildren(this);
4869 }
4870 }
4871
4872 public final ScriptVariableNameContext scriptVariableName() throws RecognitionException {
4873 ScriptVariableNameContext _localctx = new ScriptVariableNameContext(_ctx, getState());
4874 enterRule(_localctx, 74, RULE_scriptVariableName);
4875 try {
4876 enterOuterAlt(_localctx, 1);
4877 {
4878 setState(1284);
4879 match(DOLLAR_);
4880 setState(1285);
4881 match(LP_);
4882 setState(1286);
4883 name();
4884 setState(1287);
4885 match(RP_);
4886 }
4887 }
4888 catch (RecognitionException re) {
4889 _localctx.exception = re;
4890 _errHandler.reportError(this, re);
4891 _errHandler.recover(this, re);
4892 }
4893 finally {
4894 exitRule();
4895 }
4896 return _localctx;
4897 }
4898
4899 public static class OwnerContext extends ParserRuleContext {
4900 public IdentifierContext identifier() {
4901 return getRuleContext(IdentifierContext.class,0);
4902 }
4903 public OwnerContext(ParserRuleContext parent, int invokingState) {
4904 super(parent, invokingState);
4905 }
4906 @Override public int getRuleIndex() { return RULE_owner; }
4907 @Override
4908 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4909 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOwner(this);
4910 else return visitor.visitChildren(this);
4911 }
4912 }
4913
4914 public final OwnerContext owner() throws RecognitionException {
4915 OwnerContext _localctx = new OwnerContext(_ctx, getState());
4916 enterRule(_localctx, 76, RULE_owner);
4917 try {
4918 enterOuterAlt(_localctx, 1);
4919 {
4920 setState(1289);
4921 identifier();
4922 }
4923 }
4924 catch (RecognitionException re) {
4925 _localctx.exception = re;
4926 _errHandler.reportError(this, re);
4927 _errHandler.recover(this, re);
4928 }
4929 finally {
4930 exitRule();
4931 }
4932 return _localctx;
4933 }
4934
4935 public static class NameContext extends ParserRuleContext {
4936 public IdentifierContext identifier() {
4937 return getRuleContext(IdentifierContext.class,0);
4938 }
4939 public NameContext(ParserRuleContext parent, int invokingState) {
4940 super(parent, invokingState);
4941 }
4942 @Override public int getRuleIndex() { return RULE_name; }
4943 @Override
4944 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4945 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitName(this);
4946 else return visitor.visitChildren(this);
4947 }
4948 }
4949
4950 public final NameContext name() throws RecognitionException {
4951 NameContext _localctx = new NameContext(_ctx, getState());
4952 enterRule(_localctx, 78, RULE_name);
4953 try {
4954 enterOuterAlt(_localctx, 1);
4955 {
4956 setState(1291);
4957 identifier();
4958 }
4959 }
4960 catch (RecognitionException re) {
4961 _localctx.exception = re;
4962 _errHandler.reportError(this, re);
4963 _errHandler.recover(this, re);
4964 }
4965 finally {
4966 exitRule();
4967 }
4968 return _localctx;
4969 }
4970
4971 public static class ColumnNamesContext extends ParserRuleContext {
4972 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4973 public List<ColumnNameContext> columnName() {
4974 return getRuleContexts(ColumnNameContext.class);
4975 }
4976 public ColumnNameContext columnName(int i) {
4977 return getRuleContext(ColumnNameContext.class,i);
4978 }
4979 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4980 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4981 public TerminalNode COMMA_(int i) {
4982 return getToken(SQLServerStatementParser.COMMA_, i);
4983 }
4984 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
4985 super(parent, invokingState);
4986 }
4987 @Override public int getRuleIndex() { return RULE_columnNames; }
4988 @Override
4989 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4990 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNames(this);
4991 else return visitor.visitChildren(this);
4992 }
4993 }
4994
4995 public final ColumnNamesContext columnNames() throws RecognitionException {
4996 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
4997 enterRule(_localctx, 80, RULE_columnNames);
4998 int _la;
4999 try {
5000 enterOuterAlt(_localctx, 1);
5001 {
5002 setState(1293);
5003 match(LP_);
5004 setState(1294);
5005 columnName();
5006 setState(1299);
5007 _errHandler.sync(this);
5008 _la = _input.LA(1);
5009 while (_la==COMMA_) {
5010 {
5011 {
5012 setState(1295);
5013 match(COMMA_);
5014 setState(1296);
5015 columnName();
5016 }
5017 }
5018 setState(1301);
5019 _errHandler.sync(this);
5020 _la = _input.LA(1);
5021 }
5022 setState(1302);
5023 match(RP_);
5024 }
5025 }
5026 catch (RecognitionException re) {
5027 _localctx.exception = re;
5028 _errHandler.reportError(this, re);
5029 _errHandler.recover(this, re);
5030 }
5031 finally {
5032 exitRule();
5033 }
5034 return _localctx;
5035 }
5036
5037 public static class ColumnNamesWithSortContext extends ParserRuleContext {
5038 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5039 public List<ColumnNameWithSortContext> columnNameWithSort() {
5040 return getRuleContexts(ColumnNameWithSortContext.class);
5041 }
5042 public ColumnNameWithSortContext columnNameWithSort(int i) {
5043 return getRuleContext(ColumnNameWithSortContext.class,i);
5044 }
5045 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5046 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5047 public TerminalNode COMMA_(int i) {
5048 return getToken(SQLServerStatementParser.COMMA_, i);
5049 }
5050 public ColumnNamesWithSortContext(ParserRuleContext parent, int invokingState) {
5051 super(parent, invokingState);
5052 }
5053 @Override public int getRuleIndex() { return RULE_columnNamesWithSort; }
5054 @Override
5055 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5056 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNamesWithSort(this);
5057 else return visitor.visitChildren(this);
5058 }
5059 }
5060
5061 public final ColumnNamesWithSortContext columnNamesWithSort() throws RecognitionException {
5062 ColumnNamesWithSortContext _localctx = new ColumnNamesWithSortContext(_ctx, getState());
5063 enterRule(_localctx, 82, RULE_columnNamesWithSort);
5064 int _la;
5065 try {
5066 enterOuterAlt(_localctx, 1);
5067 {
5068 setState(1304);
5069 match(LP_);
5070 setState(1305);
5071 columnNameWithSort();
5072 setState(1310);
5073 _errHandler.sync(this);
5074 _la = _input.LA(1);
5075 while (_la==COMMA_) {
5076 {
5077 {
5078 setState(1306);
5079 match(COMMA_);
5080 setState(1307);
5081 columnNameWithSort();
5082 }
5083 }
5084 setState(1312);
5085 _errHandler.sync(this);
5086 _la = _input.LA(1);
5087 }
5088 setState(1313);
5089 match(RP_);
5090 }
5091 }
5092 catch (RecognitionException re) {
5093 _localctx.exception = re;
5094 _errHandler.reportError(this, re);
5095 _errHandler.recover(this, re);
5096 }
5097 finally {
5098 exitRule();
5099 }
5100 return _localctx;
5101 }
5102
5103 public static class TableNamesContext extends ParserRuleContext {
5104 public List<TableNameContext> tableName() {
5105 return getRuleContexts(TableNameContext.class);
5106 }
5107 public TableNameContext tableName(int i) {
5108 return getRuleContext(TableNameContext.class,i);
5109 }
5110 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5111 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5112 public TerminalNode COMMA_(int i) {
5113 return getToken(SQLServerStatementParser.COMMA_, i);
5114 }
5115 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5116 public TableNamesContext(ParserRuleContext parent, int invokingState) {
5117 super(parent, invokingState);
5118 }
5119 @Override public int getRuleIndex() { return RULE_tableNames; }
5120 @Override
5121 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5122 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableNames(this);
5123 else return visitor.visitChildren(this);
5124 }
5125 }
5126
5127 public final TableNamesContext tableNames() throws RecognitionException {
5128 TableNamesContext _localctx = new TableNamesContext(_ctx, getState());
5129 enterRule(_localctx, 84, RULE_tableNames);
5130 int _la;
5131 try {
5132 enterOuterAlt(_localctx, 1);
5133 {
5134 setState(1316);
5135 _errHandler.sync(this);
5136 _la = _input.LA(1);
5137 if (_la==LP_) {
5138 {
5139 setState(1315);
5140 match(LP_);
5141 }
5142 }
5143
5144 setState(1318);
5145 tableName();
5146 setState(1323);
5147 _errHandler.sync(this);
5148 _la = _input.LA(1);
5149 while (_la==COMMA_) {
5150 {
5151 {
5152 setState(1319);
5153 match(COMMA_);
5154 setState(1320);
5155 tableName();
5156 }
5157 }
5158 setState(1325);
5159 _errHandler.sync(this);
5160 _la = _input.LA(1);
5161 }
5162 setState(1327);
5163 _errHandler.sync(this);
5164 _la = _input.LA(1);
5165 if (_la==RP_) {
5166 {
5167 setState(1326);
5168 match(RP_);
5169 }
5170 }
5171
5172 }
5173 }
5174 catch (RecognitionException re) {
5175 _localctx.exception = re;
5176 _errHandler.reportError(this, re);
5177 _errHandler.recover(this, re);
5178 }
5179 finally {
5180 exitRule();
5181 }
5182 return _localctx;
5183 }
5184
5185 public static class IndexNameContext extends ParserRuleContext {
5186 public IdentifierContext identifier() {
5187 return getRuleContext(IdentifierContext.class,0);
5188 }
5189 public IndexNameContext(ParserRuleContext parent, int invokingState) {
5190 super(parent, invokingState);
5191 }
5192 @Override public int getRuleIndex() { return RULE_indexName; }
5193 @Override
5194 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5195 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexName(this);
5196 else return visitor.visitChildren(this);
5197 }
5198 }
5199
5200 public final IndexNameContext indexName() throws RecognitionException {
5201 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
5202 enterRule(_localctx, 86, RULE_indexName);
5203 try {
5204 enterOuterAlt(_localctx, 1);
5205 {
5206 setState(1329);
5207 identifier();
5208 }
5209 }
5210 catch (RecognitionException re) {
5211 _localctx.exception = re;
5212 _errHandler.reportError(this, re);
5213 _errHandler.recover(this, re);
5214 }
5215 finally {
5216 exitRule();
5217 }
5218 return _localctx;
5219 }
5220
5221 public static class ConstraintNameContext extends ParserRuleContext {
5222 public IdentifierContext identifier() {
5223 return getRuleContext(IdentifierContext.class,0);
5224 }
5225 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
5226 super(parent, invokingState);
5227 }
5228 @Override public int getRuleIndex() { return RULE_constraintName; }
5229 @Override
5230 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5231 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintName(this);
5232 else return visitor.visitChildren(this);
5233 }
5234 }
5235
5236 public final ConstraintNameContext constraintName() throws RecognitionException {
5237 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
5238 enterRule(_localctx, 88, RULE_constraintName);
5239 try {
5240 enterOuterAlt(_localctx, 1);
5241 {
5242 setState(1331);
5243 identifier();
5244 }
5245 }
5246 catch (RecognitionException re) {
5247 _localctx.exception = re;
5248 _errHandler.reportError(this, re);
5249 _errHandler.recover(this, re);
5250 }
5251 finally {
5252 exitRule();
5253 }
5254 return _localctx;
5255 }
5256
5257 public static class CollationNameContext extends ParserRuleContext {
5258 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5259 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
5260 public CollationNameContext(ParserRuleContext parent, int invokingState) {
5261 super(parent, invokingState);
5262 }
5263 @Override public int getRuleIndex() { return RULE_collationName; }
5264 @Override
5265 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5266 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCollationName(this);
5267 else return visitor.visitChildren(this);
5268 }
5269 }
5270
5271 public final CollationNameContext collationName() throws RecognitionException {
5272 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
5273 enterRule(_localctx, 90, RULE_collationName);
5274 int _la;
5275 try {
5276 enterOuterAlt(_localctx, 1);
5277 {
5278 setState(1333);
5279 _la = _input.LA(1);
5280 if ( !(_la==IDENTIFIER_ || _la==STRING_) ) {
5281 _errHandler.recoverInline(this);
5282 }
5283 else {
5284 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5285 _errHandler.reportMatch(this);
5286 consume();
5287 }
5288 }
5289 }
5290 catch (RecognitionException re) {
5291 _localctx.exception = re;
5292 _errHandler.reportError(this, re);
5293 _errHandler.recover(this, re);
5294 }
5295 finally {
5296 exitRule();
5297 }
5298 return _localctx;
5299 }
5300
5301 public static class AliasContext extends ParserRuleContext {
5302 public IdentifierContext identifier() {
5303 return getRuleContext(IdentifierContext.class,0);
5304 }
5305 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5306 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
5307 public AliasContext(ParserRuleContext parent, int invokingState) {
5308 super(parent, invokingState);
5309 }
5310 @Override public int getRuleIndex() { return RULE_alias; }
5311 @Override
5312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlias(this);
5314 else return visitor.visitChildren(this);
5315 }
5316 }
5317
5318 public final AliasContext alias() throws RecognitionException {
5319 AliasContext _localctx = new AliasContext(_ctx, getState());
5320 enterRule(_localctx, 92, RULE_alias);
5321 try {
5322 setState(1338);
5323 _errHandler.sync(this);
5324 switch (_input.LA(1)) {
5325 case TRUNCATE:
5326 case SCHEMA:
5327 case COLUMNS:
5328 case PRECISION:
5329 case FUNCTION:
5330 case TRIGGER:
5331 case CAST:
5332 case TRIM:
5333 case SUBSTRING:
5334 case RIGHT:
5335 case OFF:
5336 case GROUP:
5337 case LIMIT:
5338 case OFFSET:
5339 case SAVEPOINT:
5340 case BOOLEAN:
5341 case ARRAY:
5342 case DATE:
5343 case TIMESTAMP:
5344 case LOCALTIME:
5345 case LOCALTIMESTAMP:
5346 case YEAR:
5347 case QUARTER:
5348 case MONTH:
5349 case WEEK:
5350 case DAY:
5351 case SECOND:
5352 case MICROSECOND:
5353 case MAX:
5354 case MIN:
5355 case SUM:
5356 case COUNT:
5357 case AVG:
5358 case ENABLE:
5359 case DISABLE:
5360 case INSTANCE:
5361 case DO:
5362 case DEFINER:
5363 case SQL:
5364 case CASCADED:
5365 case LOCAL:
5366 case NEXT:
5367 case NAME:
5368 case INTEGER:
5369 case TYPE:
5370 case TEXT:
5371 case VIEWS:
5372 case READ_ONLY:
5373 case DATABASE:
5374 case RETURNS:
5375 case DATEPART:
5376 case PASSWORD:
5377 case BINARY:
5378 case HIDDEN_:
5379 case MOD:
5380 case PARTITION:
5381 case PARTITIONS:
5382 case TOP:
5383 case ROW:
5384 case ROWS:
5385 case XOR:
5386 case ALWAYS:
5387 case USER:
5388 case ROLE:
5389 case START:
5390 case ALGORITHM:
5391 case AUTO:
5392 case BLOCKERS:
5393 case CLUSTERED:
5394 case NONCLUSTERED:
5395 case COLUMNSTORE:
5396 case CONTENT:
5397 case YEARS:
5398 case MONTHS:
5399 case WEEKS:
5400 case DAYS:
5401 case MINUTES:
5402 case DENY:
5403 case DETERMINISTIC:
5404 case DISTRIBUTION:
5405 case DOCUMENT:
5406 case DURABILITY:
5407 case ENCRYPTED:
5408 case FILESTREAM:
5409 case FILETABLE:
5410 case FILLFACTOR:
5411 case FOLLOWING:
5412 case HASH:
5413 case HEAP:
5414 case INBOUND:
5415 case OUTBOUND:
5416 case UNBOUNDED:
5417 case INFINITE:
5418 case LOGIN:
5419 case MASKED:
5420 case MAXDOP:
5421 case MOVE:
5422 case NOCHECK:
5423 case OBJECT:
5424 case ONLINE:
5425 case OVER:
5426 case PAGE:
5427 case PAUSED:
5428 case PERIOD:
5429 case PERSISTED:
5430 case PRECEDING:
5431 case RANDOMIZED:
5432 case RANGE:
5433 case REBUILD:
5434 case REPLICATE:
5435 case REPLICATION:
5436 case RESUMABLE:
5437 case ROWGUIDCOL:
5438 case SAVE:
5439 case SELF:
5440 case SPARSE:
5441 case SWITCH:
5442 case TRAN:
5443 case TRANCOUNT:
5444 case CONTROL:
5445 case CONCAT:
5446 case TAKE:
5447 case OWNERSHIP:
5448 case DEFINITION:
5449 case APPLICATION:
5450 case ASSEMBLY:
5451 case SYMMETRIC:
5452 case ASYMMETRIC:
5453 case SERVER:
5454 case RECEIVE:
5455 case CHANGE:
5456 case TRACE:
5457 case TRACKING:
5458 case RESOURCES:
5459 case SETTINGS:
5460 case STATE:
5461 case AVAILABILITY:
5462 case CREDENTIAL:
5463 case ENDPOINT:
5464 case EVENT:
5465 case NOTIFICATION:
5466 case LINKED:
5467 case AUDIT:
5468 case DDL:
5469 case XML:
5470 case IMPERSONATE:
5471 case SECURABLES:
5472 case AUTHENTICATE:
5473 case EXTERNAL:
5474 case ACCESS:
5475 case ADMINISTER:
5476 case BULK:
5477 case OPERATIONS:
5478 case UNSAFE:
5479 case SHUTDOWN:
5480 case SCOPED:
5481 case CONFIGURATION:
5482 case DATASPACE:
5483 case SERVICE:
5484 case CERTIFICATE:
5485 case CONTRACT:
5486 case ENCRYPTION:
5487 case MASTER:
5488 case DATA:
5489 case SOURCE:
5490 case FILE:
5491 case FORMAT:
5492 case LIBRARY:
5493 case FULLTEXT:
5494 case MASK:
5495 case UNMASK:
5496 case MESSAGE:
5497 case REMOTE:
5498 case BINDING:
5499 case ROUTE:
5500 case SECURITY:
5501 case POLICY:
5502 case AGGREGATE:
5503 case QUEUE:
5504 case RULE:
5505 case SYNONYM:
5506 case COLLECTION:
5507 case SCRIPT:
5508 case KILL:
5509 case BACKUP:
5510 case LOG:
5511 case SHOWPLAN:
5512 case SUBSCRIBE:
5513 case QUERY:
5514 case NOTIFICATIONS:
5515 case CHECKPOINT:
5516 case SEQUENCE:
5517 case ABORT_AFTER_WAIT:
5518 case ALLOW_PAGE_LOCKS:
5519 case ALLOW_ROW_LOCKS:
5520 case ALL_SPARSE_COLUMNS:
5521 case BUCKET_COUNT:
5522 case COLUMNSTORE_ARCHIVE:
5523 case COLUMN_ENCRYPTION_KEY:
5524 case COLUMN_SET:
5525 case COMPRESSION_DELAY:
5526 case DATABASE_DEAULT:
5527 case DATA_COMPRESSION:
5528 case DATA_CONSISTENCY_CHECK:
5529 case ENCRYPTION_TYPE:
5530 case SYSTEM_TIME:
5531 case SYSTEM_VERSIONING:
5532 case TEXTIMAGE_ON:
5533 case WAIT_AT_LOW_PRIORITY:
5534 case STATISTICS_INCREMENTAL:
5535 case STATISTICS_NORECOMPUTE:
5536 case ROUND_ROBIN:
5537 case SCHEMA_AND_DATA:
5538 case SCHEMA_ONLY:
5539 case SORT_IN_TEMPDB:
5540 case IGNORE_DUP_KEY:
5541 case IMPLICIT_TRANSACTIONS:
5542 case MAX_DURATION:
5543 case MEMORY_OPTIMIZED:
5544 case MIGRATION_STATE:
5545 case PAD_INDEX:
5546 case REMOTE_DATA_ARCHIVE:
5547 case FILESTREAM_ON:
5548 case FILETABLE_COLLATE_FILENAME:
5549 case FILETABLE_DIRECTORY:
5550 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
5551 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
5552 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
5553 case FILTER_PREDICATE:
5554 case HISTORY_RETENTION_PERIOD:
5555 case HISTORY_TABLE:
5556 case LOCK_ESCALATION:
5557 case DROP_EXISTING:
5558 case ROW_NUMBER:
5559 case FIRST:
5560 case DATETIME2:
5561 case OUTPUT:
5562 case INSERTED:
5563 case DELETED:
5564 case FILENAME:
5565 case SIZE:
5566 case MAXSIZE:
5567 case FILEGROWTH:
5568 case UNLIMITED:
5569 case KB:
5570 case MB:
5571 case GB:
5572 case TB:
5573 case CONTAINS:
5574 case MEMORY_OPTIMIZED_DATA:
5575 case FILEGROUP:
5576 case NON_TRANSACTED_ACCESS:
5577 case DB_CHAINING:
5578 case TRUSTWORTHY:
5579 case FORWARD_ONLY:
5580 case KEYSET:
5581 case FAST_FORWARD:
5582 case SCROLL_LOCKS:
5583 case OPTIMISTIC:
5584 case TYPE_WARNING:
5585 case SCHEMABINDING:
5586 case CALLER:
5587 case INPUT:
5588 case OWNER:
5589 case SNAPSHOT:
5590 case REPEATABLE:
5591 case SERIALIZABLE:
5592 case NATIVE_COMPILATION:
5593 case VIEW_METADATA:
5594 case INSTEAD:
5595 case APPEND:
5596 case INCREMENT:
5597 case CACHE:
5598 case MINVALUE:
5599 case MAXVALUE:
5600 case RESTART:
5601 case LOB_COMPACTION:
5602 case COMPRESS_ALL_ROW_GROUPS:
5603 case REORGANIZE:
5604 case RESUME:
5605 case PAUSE:
5606 case ABORT:
5607 case ACCELERATED_DATABASE_RECOVERY:
5608 case PERSISTENT_VERSION_STORE_FILEGROUP:
5609 case IMMEDIATE:
5610 case NO_WAIT:
5611 case TARGET_RECOVERY_TIME:
5612 case SECONDS:
5613 case HONOR_BROKER_PRIORITY:
5614 case ERROR_BROKER_CONVERSATIONS:
5615 case NEW_BROKER:
5616 case DISABLE_BROKER:
5617 case ENABLE_BROKER:
5618 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
5619 case READ_COMMITTED_SNAPSHOT:
5620 case ALLOW_SNAPSHOT_ISOLATION:
5621 case RECURSIVE_TRIGGERS:
5622 case QUOTED_IDENTIFIER:
5623 case NUMERIC_ROUNDABORT:
5624 case CONCAT_NULL_YIELDS_NULL:
5625 case COMPATIBILITY_LEVEL:
5626 case ARITHABORT:
5627 case ANSI_WARNINGS:
5628 case ANSI_PADDING:
5629 case ANSI_NULLS:
5630 case ANSI_NULL_DEFAULT:
5631 case PAGE_VERIFY:
5632 case CHECKSUM:
5633 case TORN_PAGE_DETECTION:
5634 case BULK_LOGGED:
5635 case RECOVERY:
5636 case TOTAL_EXECUTION_CPU_TIME_MS:
5637 case TOTAL_COMPILE_CPU_TIME_MS:
5638 case STALE_CAPTURE_POLICY_THRESHOLD:
5639 case EXECUTION_COUNT:
5640 case QUERY_CAPTURE_POLICY:
5641 case WAIT_STATS_CAPTURE_MODE:
5642 case MAX_PLANS_PER_QUERY:
5643 case QUERY_CAPTURE_MODE:
5644 case SIZE_BASED_CLEANUP_MODE:
5645 case INTERVAL_LENGTH_MINUTES:
5646 case MAX_STORAGE_SIZE_MB:
5647 case DATA_FLUSH_INTERVAL_SECONDS:
5648 case CLEANUP_POLICY:
5649 case CUSTOM:
5650 case STALE_QUERY_THRESHOLD_DAYS:
5651 case OPERATION_MODE:
5652 case QUERY_STORE:
5653 case CURSOR_DEFAULT:
5654 case GLOBAL:
5655 case CURSOR_CLOSE_ON_COMMIT:
5656 case HOURS:
5657 case CHANGE_RETENTION:
5658 case AUTO_CLEANUP:
5659 case CHANGE_TRACKING:
5660 case AUTOMATIC_TUNING:
5661 case FORCE_LAST_GOOD_PLAN:
5662 case AUTO_UPDATE_STATISTICS_ASYNC:
5663 case AUTO_UPDATE_STATISTICS:
5664 case AUTO_SHRINK:
5665 case AUTO_CREATE_STATISTICS:
5666 case INCREMENTAL:
5667 case AUTO_CLOSE:
5668 case DATA_RETENTION:
5669 case TEMPORAL_HISTORY_RETENTION:
5670 case EDITION:
5671 case MIXED_PAGE_ALLOCATION:
5672 case DISABLED:
5673 case ALLOWED:
5674 case HADR:
5675 case MULTI_USER:
5676 case RESTRICTED_USER:
5677 case SINGLE_USER:
5678 case OFFLINE:
5679 case EMERGENCY:
5680 case SUSPEND:
5681 case DATE_CORRELATION_OPTIMIZATION:
5682 case ELASTIC_POOL:
5683 case SERVICE_OBJECTIVE:
5684 case DATABASE_NAME:
5685 case ALLOW_CONNECTIONS:
5686 case GEO:
5687 case NAMED:
5688 case DATEFIRST:
5689 case BACKUP_STORAGE_REDUNDANCY:
5690 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
5691 case SECONDARY:
5692 case FAILOVER:
5693 case DEFAULT_FULLTEXT_LANGUAGE:
5694 case DEFAULT_LANGUAGE:
5695 case INLINE:
5696 case NESTED_TRIGGERS:
5697 case TRANSFORM_NOISE_WORDS:
5698 case TWO_DIGIT_YEAR_CUTOFF:
5699 case PERSISTENT_LOG_BUFFER:
5700 case DIRECTORY_NAME:
5701 case DATEFORMAT:
5702 case DELAYED_DURABILITY:
5703 case AUTHORIZATION:
5704 case TRANSFER:
5705 case PROVIDER:
5706 case SID:
5707 case SEARCH:
5708 case MEMBER:
5709 case JSON:
5710 case IDENTIFIER_:
5711 case DELIMITED_IDENTIFIER_:
5712 enterOuterAlt(_localctx, 1);
5713 {
5714 setState(1335);
5715 identifier();
5716 }
5717 break;
5718 case STRING_:
5719 enterOuterAlt(_localctx, 2);
5720 {
5721 setState(1336);
5722 match(STRING_);
5723 }
5724 break;
5725 case NCHAR_TEXT:
5726 enterOuterAlt(_localctx, 3);
5727 {
5728 setState(1337);
5729 match(NCHAR_TEXT);
5730 }
5731 break;
5732 default:
5733 throw new NoViableAltException(this);
5734 }
5735 }
5736 catch (RecognitionException re) {
5737 _localctx.exception = re;
5738 _errHandler.reportError(this, re);
5739 _errHandler.recover(this, re);
5740 }
5741 finally {
5742 exitRule();
5743 }
5744 return _localctx;
5745 }
5746
5747 public static class DataTypeLengthContext extends ParserRuleContext {
5748 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5749 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5750 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
5751 public TerminalNode NUMBER_(int i) {
5752 return getToken(SQLServerStatementParser.NUMBER_, i);
5753 }
5754 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
5755 public DataTypeLengthContext(ParserRuleContext parent, int invokingState) {
5756 super(parent, invokingState);
5757 }
5758 @Override public int getRuleIndex() { return RULE_dataTypeLength; }
5759 @Override
5760 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5761 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeLength(this);
5762 else return visitor.visitChildren(this);
5763 }
5764 }
5765
5766 public final DataTypeLengthContext dataTypeLength() throws RecognitionException {
5767 DataTypeLengthContext _localctx = new DataTypeLengthContext(_ctx, getState());
5768 enterRule(_localctx, 94, RULE_dataTypeLength);
5769 int _la;
5770 try {
5771 enterOuterAlt(_localctx, 1);
5772 {
5773 setState(1340);
5774 match(LP_);
5775 setState(1346);
5776 _errHandler.sync(this);
5777 _la = _input.LA(1);
5778 if (_la==NUMBER_) {
5779 {
5780 setState(1341);
5781 match(NUMBER_);
5782 setState(1344);
5783 _errHandler.sync(this);
5784 _la = _input.LA(1);
5785 if (_la==COMMA_) {
5786 {
5787 setState(1342);
5788 match(COMMA_);
5789 setState(1343);
5790 match(NUMBER_);
5791 }
5792 }
5793
5794 }
5795 }
5796
5797 setState(1348);
5798 match(RP_);
5799 }
5800 }
5801 catch (RecognitionException re) {
5802 _localctx.exception = re;
5803 _errHandler.reportError(this, re);
5804 _errHandler.recover(this, re);
5805 }
5806 finally {
5807 exitRule();
5808 }
5809 return _localctx;
5810 }
5811
5812 public static class PrimaryKeyContext extends ParserRuleContext {
5813 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
5814 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
5815 public PrimaryKeyContext(ParserRuleContext parent, int invokingState) {
5816 super(parent, invokingState);
5817 }
5818 @Override public int getRuleIndex() { return RULE_primaryKey; }
5819 @Override
5820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKey(this);
5822 else return visitor.visitChildren(this);
5823 }
5824 }
5825
5826 public final PrimaryKeyContext primaryKey() throws RecognitionException {
5827 PrimaryKeyContext _localctx = new PrimaryKeyContext(_ctx, getState());
5828 enterRule(_localctx, 96, RULE_primaryKey);
5829 int _la;
5830 try {
5831 enterOuterAlt(_localctx, 1);
5832 {
5833 setState(1351);
5834 _errHandler.sync(this);
5835 _la = _input.LA(1);
5836 if (_la==PRIMARY) {
5837 {
5838 setState(1350);
5839 match(PRIMARY);
5840 }
5841 }
5842
5843 setState(1353);
5844 match(KEY);
5845 }
5846 }
5847 catch (RecognitionException re) {
5848 _localctx.exception = re;
5849 _errHandler.reportError(this, re);
5850 _errHandler.recover(this, re);
5851 }
5852 finally {
5853 exitRule();
5854 }
5855 return _localctx;
5856 }
5857
5858 public static class ExprContext extends ParserRuleContext {
5859 public BooleanPrimaryContext booleanPrimary() {
5860 return getRuleContext(BooleanPrimaryContext.class,0);
5861 }
5862 public NotOperatorContext notOperator() {
5863 return getRuleContext(NotOperatorContext.class,0);
5864 }
5865 public List<ExprContext> expr() {
5866 return getRuleContexts(ExprContext.class);
5867 }
5868 public ExprContext expr(int i) {
5869 return getRuleContext(ExprContext.class,i);
5870 }
5871 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5872 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5873 public AndOperatorContext andOperator() {
5874 return getRuleContext(AndOperatorContext.class,0);
5875 }
5876 public OrOperatorContext orOperator() {
5877 return getRuleContext(OrOperatorContext.class,0);
5878 }
5879 public DistinctFromContext distinctFrom() {
5880 return getRuleContext(DistinctFromContext.class,0);
5881 }
5882 public ExprContext(ParserRuleContext parent, int invokingState) {
5883 super(parent, invokingState);
5884 }
5885 @Override public int getRuleIndex() { return RULE_expr; }
5886 @Override
5887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExpr(this);
5889 else return visitor.visitChildren(this);
5890 }
5891 }
5892
5893 public final ExprContext expr() throws RecognitionException {
5894 return expr(0);
5895 }
5896
5897 private ExprContext expr(int _p) throws RecognitionException {
5898 ParserRuleContext _parentctx = _ctx;
5899 int _parentState = getState();
5900 ExprContext _localctx = new ExprContext(_ctx, _parentState);
5901 ExprContext _prevctx = _localctx;
5902 int _startState = 98;
5903 enterRecursionRule(_localctx, 98, RULE_expr, _p);
5904 try {
5905 int _alt;
5906 enterOuterAlt(_localctx, 1);
5907 {
5908 setState(1364);
5909 _errHandler.sync(this);
5910 switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
5911 case 1:
5912 {
5913 setState(1356);
5914 booleanPrimary(0);
5915 }
5916 break;
5917 case 2:
5918 {
5919 setState(1357);
5920 notOperator();
5921 setState(1358);
5922 expr(2);
5923 }
5924 break;
5925 case 3:
5926 {
5927 setState(1360);
5928 match(LP_);
5929 setState(1361);
5930 expr(0);
5931 setState(1362);
5932 match(RP_);
5933 }
5934 break;
5935 }
5936 _ctx.stop = _input.LT(-1);
5937 setState(1380);
5938 _errHandler.sync(this);
5939 _alt = getInterpreter().adaptivePredict(_input,44,_ctx);
5940 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5941 if ( _alt==1 ) {
5942 if ( _parseListeners!=null ) triggerExitRuleEvent();
5943 _prevctx = _localctx;
5944 {
5945 setState(1378);
5946 _errHandler.sync(this);
5947 switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) {
5948 case 1:
5949 {
5950 _localctx = new ExprContext(_parentctx, _parentState);
5951 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5952 setState(1366);
5953 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
5954 setState(1367);
5955 andOperator();
5956 setState(1368);
5957 expr(6);
5958 }
5959 break;
5960 case 2:
5961 {
5962 _localctx = new ExprContext(_parentctx, _parentState);
5963 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5964 setState(1370);
5965 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
5966 setState(1371);
5967 orOperator();
5968 setState(1372);
5969 expr(5);
5970 }
5971 break;
5972 case 3:
5973 {
5974 _localctx = new ExprContext(_parentctx, _parentState);
5975 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5976 setState(1374);
5977 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
5978 setState(1375);
5979 distinctFrom();
5980 setState(1376);
5981 expr(4);
5982 }
5983 break;
5984 }
5985 }
5986 }
5987 setState(1382);
5988 _errHandler.sync(this);
5989 _alt = getInterpreter().adaptivePredict(_input,44,_ctx);
5990 }
5991 }
5992 }
5993 catch (RecognitionException re) {
5994 _localctx.exception = re;
5995 _errHandler.reportError(this, re);
5996 _errHandler.recover(this, re);
5997 }
5998 finally {
5999 unrollRecursionContexts(_parentctx);
6000 }
6001 return _localctx;
6002 }
6003
6004 public static class AndOperatorContext extends ParserRuleContext {
6005 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6006 public TerminalNode AND_() { return getToken(SQLServerStatementParser.AND_, 0); }
6007 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
6008 super(parent, invokingState);
6009 }
6010 @Override public int getRuleIndex() { return RULE_andOperator; }
6011 @Override
6012 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6013 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAndOperator(this);
6014 else return visitor.visitChildren(this);
6015 }
6016 }
6017
6018 public final AndOperatorContext andOperator() throws RecognitionException {
6019 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
6020 enterRule(_localctx, 100, RULE_andOperator);
6021 int _la;
6022 try {
6023 enterOuterAlt(_localctx, 1);
6024 {
6025 setState(1383);
6026 _la = _input.LA(1);
6027 if ( !(_la==AND_ || _la==AND) ) {
6028 _errHandler.recoverInline(this);
6029 }
6030 else {
6031 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6032 _errHandler.reportMatch(this);
6033 consume();
6034 }
6035 }
6036 }
6037 catch (RecognitionException re) {
6038 _localctx.exception = re;
6039 _errHandler.reportError(this, re);
6040 _errHandler.recover(this, re);
6041 }
6042 finally {
6043 exitRule();
6044 }
6045 return _localctx;
6046 }
6047
6048 public static class OrOperatorContext extends ParserRuleContext {
6049 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
6050 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6051 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
6052 super(parent, invokingState);
6053 }
6054 @Override public int getRuleIndex() { return RULE_orOperator; }
6055 @Override
6056 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6057 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrOperator(this);
6058 else return visitor.visitChildren(this);
6059 }
6060 }
6061
6062 public final OrOperatorContext orOperator() throws RecognitionException {
6063 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
6064 enterRule(_localctx, 102, RULE_orOperator);
6065 int _la;
6066 try {
6067 enterOuterAlt(_localctx, 1);
6068 {
6069 setState(1385);
6070 _la = _input.LA(1);
6071 if ( !(_la==OR_ || _la==OR) ) {
6072 _errHandler.recoverInline(this);
6073 }
6074 else {
6075 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6076 _errHandler.reportMatch(this);
6077 consume();
6078 }
6079 }
6080 }
6081 catch (RecognitionException re) {
6082 _localctx.exception = re;
6083 _errHandler.reportError(this, re);
6084 _errHandler.recover(this, re);
6085 }
6086 finally {
6087 exitRule();
6088 }
6089 return _localctx;
6090 }
6091
6092 public static class DistinctFromContext extends ParserRuleContext {
6093 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6094 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
6095 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
6096 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6097 public DistinctFromContext(ParserRuleContext parent, int invokingState) {
6098 super(parent, invokingState);
6099 }
6100 @Override public int getRuleIndex() { return RULE_distinctFrom; }
6101 @Override
6102 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6103 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinctFrom(this);
6104 else return visitor.visitChildren(this);
6105 }
6106 }
6107
6108 public final DistinctFromContext distinctFrom() throws RecognitionException {
6109 DistinctFromContext _localctx = new DistinctFromContext(_ctx, getState());
6110 enterRule(_localctx, 104, RULE_distinctFrom);
6111 int _la;
6112 try {
6113 enterOuterAlt(_localctx, 1);
6114 {
6115 setState(1387);
6116 match(IS);
6117 setState(1389);
6118 _errHandler.sync(this);
6119 _la = _input.LA(1);
6120 if (_la==NOT) {
6121 {
6122 setState(1388);
6123 match(NOT);
6124 }
6125 }
6126
6127 setState(1391);
6128 match(DISTINCT);
6129 setState(1392);
6130 match(FROM);
6131 }
6132 }
6133 catch (RecognitionException re) {
6134 _localctx.exception = re;
6135 _errHandler.reportError(this, re);
6136 _errHandler.recover(this, re);
6137 }
6138 finally {
6139 exitRule();
6140 }
6141 return _localctx;
6142 }
6143
6144 public static class NotOperatorContext extends ParserRuleContext {
6145 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6146 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6147 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
6148 super(parent, invokingState);
6149 }
6150 @Override public int getRuleIndex() { return RULE_notOperator; }
6151 @Override
6152 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6153 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNotOperator(this);
6154 else return visitor.visitChildren(this);
6155 }
6156 }
6157
6158 public final NotOperatorContext notOperator() throws RecognitionException {
6159 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
6160 enterRule(_localctx, 106, RULE_notOperator);
6161 int _la;
6162 try {
6163 enterOuterAlt(_localctx, 1);
6164 {
6165 setState(1394);
6166 _la = _input.LA(1);
6167 if ( !(_la==NOT_ || _la==NOT) ) {
6168 _errHandler.recoverInline(this);
6169 }
6170 else {
6171 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6172 _errHandler.reportMatch(this);
6173 consume();
6174 }
6175 }
6176 }
6177 catch (RecognitionException re) {
6178 _localctx.exception = re;
6179 _errHandler.reportError(this, re);
6180 _errHandler.recover(this, re);
6181 }
6182 finally {
6183 exitRule();
6184 }
6185 return _localctx;
6186 }
6187
6188 public static class BooleanPrimaryContext extends ParserRuleContext {
6189 public PredicateContext predicate() {
6190 return getRuleContext(PredicateContext.class,0);
6191 }
6192 public BooleanPrimaryContext booleanPrimary() {
6193 return getRuleContext(BooleanPrimaryContext.class,0);
6194 }
6195 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6196 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
6197 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
6198 public TerminalNode UNKNOWN() { return getToken(SQLServerStatementParser.UNKNOWN, 0); }
6199 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
6200 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6201 public TerminalNode SAFE_EQ_() { return getToken(SQLServerStatementParser.SAFE_EQ_, 0); }
6202 public ComparisonOperatorContext comparisonOperator() {
6203 return getRuleContext(ComparisonOperatorContext.class,0);
6204 }
6205 public SubqueryContext subquery() {
6206 return getRuleContext(SubqueryContext.class,0);
6207 }
6208 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
6209 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
6210 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
6211 super(parent, invokingState);
6212 }
6213 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
6214 @Override
6215 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6216 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
6217 else return visitor.visitChildren(this);
6218 }
6219 }
6220
6221 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
6222 return booleanPrimary(0);
6223 }
6224
6225 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
6226 ParserRuleContext _parentctx = _ctx;
6227 int _parentState = getState();
6228 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
6229 BooleanPrimaryContext _prevctx = _localctx;
6230 int _startState = 108;
6231 enterRecursionRule(_localctx, 108, RULE_booleanPrimary, _p);
6232 int _la;
6233 try {
6234 int _alt;
6235 enterOuterAlt(_localctx, 1);
6236 {
6237 {
6238 setState(1397);
6239 predicate();
6240 }
6241 _ctx.stop = _input.LT(-1);
6242 setState(1419);
6243 _errHandler.sync(this);
6244 _alt = getInterpreter().adaptivePredict(_input,48,_ctx);
6245 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6246 if ( _alt==1 ) {
6247 if ( _parseListeners!=null ) triggerExitRuleEvent();
6248 _prevctx = _localctx;
6249 {
6250 setState(1417);
6251 _errHandler.sync(this);
6252 switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
6253 case 1:
6254 {
6255 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6256 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6257 setState(1399);
6258 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6259 setState(1400);
6260 match(IS);
6261 setState(1402);
6262 _errHandler.sync(this);
6263 _la = _input.LA(1);
6264 if (_la==NOT) {
6265 {
6266 setState(1401);
6267 match(NOT);
6268 }
6269 }
6270
6271 setState(1404);
6272 _la = _input.LA(1);
6273 if ( !(((((_la - 108)) & ~0x3f) == 0 && ((1L << (_la - 108)) & ((1L << (NULL - 108)) | (1L << (TRUE - 108)) | (1L << (FALSE - 108)))) != 0) || _la==UNKNOWN) ) {
6274 _errHandler.recoverInline(this);
6275 }
6276 else {
6277 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6278 _errHandler.reportMatch(this);
6279 consume();
6280 }
6281 }
6282 break;
6283 case 2:
6284 {
6285 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6286 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6287 setState(1405);
6288 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6289 setState(1406);
6290 match(SAFE_EQ_);
6291 setState(1407);
6292 predicate();
6293 }
6294 break;
6295 case 3:
6296 {
6297 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6298 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6299 setState(1408);
6300 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6301 setState(1409);
6302 comparisonOperator();
6303 setState(1410);
6304 predicate();
6305 }
6306 break;
6307 case 4:
6308 {
6309 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6310 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6311 setState(1412);
6312 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6313 setState(1413);
6314 comparisonOperator();
6315 setState(1414);
6316 _la = _input.LA(1);
6317 if ( !(_la==ALL || _la==ANY) ) {
6318 _errHandler.recoverInline(this);
6319 }
6320 else {
6321 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6322 _errHandler.reportMatch(this);
6323 consume();
6324 }
6325 setState(1415);
6326 subquery();
6327 }
6328 break;
6329 }
6330 }
6331 }
6332 setState(1421);
6333 _errHandler.sync(this);
6334 _alt = getInterpreter().adaptivePredict(_input,48,_ctx);
6335 }
6336 }
6337 }
6338 catch (RecognitionException re) {
6339 _localctx.exception = re;
6340 _errHandler.reportError(this, re);
6341 _errHandler.recover(this, re);
6342 }
6343 finally {
6344 unrollRecursionContexts(_parentctx);
6345 }
6346 return _localctx;
6347 }
6348
6349 public static class ComparisonOperatorContext extends ParserRuleContext {
6350 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
6351 public TerminalNode GTE_() { return getToken(SQLServerStatementParser.GTE_, 0); }
6352 public TerminalNode GT_() { return getToken(SQLServerStatementParser.GT_, 0); }
6353 public TerminalNode LTE_() { return getToken(SQLServerStatementParser.LTE_, 0); }
6354 public TerminalNode LT_() { return getToken(SQLServerStatementParser.LT_, 0); }
6355 public TerminalNode NEQ_() { return getToken(SQLServerStatementParser.NEQ_, 0); }
6356 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
6357 super(parent, invokingState);
6358 }
6359 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
6360 @Override
6361 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6362 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
6363 else return visitor.visitChildren(this);
6364 }
6365 }
6366
6367 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
6368 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
6369 enterRule(_localctx, 110, RULE_comparisonOperator);
6370 int _la;
6371 try {
6372 enterOuterAlt(_localctx, 1);
6373 {
6374 setState(1422);
6375 _la = _input.LA(1);
6376 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
6377 _errHandler.recoverInline(this);
6378 }
6379 else {
6380 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6381 _errHandler.reportMatch(this);
6382 consume();
6383 }
6384 }
6385 }
6386 catch (RecognitionException re) {
6387 _localctx.exception = re;
6388 _errHandler.reportError(this, re);
6389 _errHandler.recover(this, re);
6390 }
6391 finally {
6392 exitRule();
6393 }
6394 return _localctx;
6395 }
6396
6397 public static class PredicateContext extends ParserRuleContext {
6398 public List<BitExprContext> bitExpr() {
6399 return getRuleContexts(BitExprContext.class);
6400 }
6401 public BitExprContext bitExpr(int i) {
6402 return getRuleContext(BitExprContext.class,i);
6403 }
6404 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
6405 public SubqueryContext subquery() {
6406 return getRuleContext(SubqueryContext.class,0);
6407 }
6408 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6409 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6410 public List<ExprContext> expr() {
6411 return getRuleContexts(ExprContext.class);
6412 }
6413 public ExprContext expr(int i) {
6414 return getRuleContext(ExprContext.class,i);
6415 }
6416 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6417 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6418 public TerminalNode COMMA_(int i) {
6419 return getToken(SQLServerStatementParser.COMMA_, i);
6420 }
6421 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
6422 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6423 public PredicateContext predicate() {
6424 return getRuleContext(PredicateContext.class,0);
6425 }
6426 public TerminalNode LIKE() { return getToken(SQLServerStatementParser.LIKE, 0); }
6427 public List<SimpleExprContext> simpleExpr() {
6428 return getRuleContexts(SimpleExprContext.class);
6429 }
6430 public SimpleExprContext simpleExpr(int i) {
6431 return getRuleContext(SimpleExprContext.class,i);
6432 }
6433 public TerminalNode ESCAPE() { return getToken(SQLServerStatementParser.ESCAPE, 0); }
6434 public PredicateContext(ParserRuleContext parent, int invokingState) {
6435 super(parent, invokingState);
6436 }
6437 @Override public int getRuleIndex() { return RULE_predicate; }
6438 @Override
6439 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6440 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPredicate(this);
6441 else return visitor.visitChildren(this);
6442 }
6443 }
6444
6445 public final PredicateContext predicate() throws RecognitionException {
6446 PredicateContext _localctx = new PredicateContext(_ctx, getState());
6447 enterRule(_localctx, 112, RULE_predicate);
6448 int _la;
6449 try {
6450 setState(1467);
6451 _errHandler.sync(this);
6452 switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
6453 case 1:
6454 enterOuterAlt(_localctx, 1);
6455 {
6456 setState(1424);
6457 bitExpr(0);
6458 setState(1426);
6459 _errHandler.sync(this);
6460 _la = _input.LA(1);
6461 if (_la==NOT) {
6462 {
6463 setState(1425);
6464 match(NOT);
6465 }
6466 }
6467
6468 setState(1428);
6469 match(IN);
6470 setState(1429);
6471 subquery();
6472 }
6473 break;
6474 case 2:
6475 enterOuterAlt(_localctx, 2);
6476 {
6477 setState(1431);
6478 bitExpr(0);
6479 setState(1433);
6480 _errHandler.sync(this);
6481 _la = _input.LA(1);
6482 if (_la==NOT) {
6483 {
6484 setState(1432);
6485 match(NOT);
6486 }
6487 }
6488
6489 setState(1435);
6490 match(IN);
6491 setState(1436);
6492 match(LP_);
6493 setState(1437);
6494 expr(0);
6495 setState(1442);
6496 _errHandler.sync(this);
6497 _la = _input.LA(1);
6498 while (_la==COMMA_) {
6499 {
6500 {
6501 setState(1438);
6502 match(COMMA_);
6503 setState(1439);
6504 expr(0);
6505 }
6506 }
6507 setState(1444);
6508 _errHandler.sync(this);
6509 _la = _input.LA(1);
6510 }
6511 setState(1445);
6512 match(RP_);
6513 }
6514 break;
6515 case 3:
6516 enterOuterAlt(_localctx, 3);
6517 {
6518 setState(1447);
6519 bitExpr(0);
6520 setState(1449);
6521 _errHandler.sync(this);
6522 _la = _input.LA(1);
6523 if (_la==NOT) {
6524 {
6525 setState(1448);
6526 match(NOT);
6527 }
6528 }
6529
6530 setState(1451);
6531 match(BETWEEN);
6532 setState(1452);
6533 bitExpr(0);
6534 setState(1453);
6535 match(AND);
6536 setState(1454);
6537 predicate();
6538 }
6539 break;
6540 case 4:
6541 enterOuterAlt(_localctx, 4);
6542 {
6543 setState(1456);
6544 bitExpr(0);
6545 setState(1458);
6546 _errHandler.sync(this);
6547 _la = _input.LA(1);
6548 if (_la==NOT) {
6549 {
6550 setState(1457);
6551 match(NOT);
6552 }
6553 }
6554
6555 setState(1460);
6556 match(LIKE);
6557 setState(1461);
6558 simpleExpr(0);
6559 setState(1464);
6560 _errHandler.sync(this);
6561 switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
6562 case 1:
6563 {
6564 setState(1462);
6565 match(ESCAPE);
6566 setState(1463);
6567 simpleExpr(0);
6568 }
6569 break;
6570 }
6571 }
6572 break;
6573 case 5:
6574 enterOuterAlt(_localctx, 5);
6575 {
6576 setState(1466);
6577 bitExpr(0);
6578 }
6579 break;
6580 }
6581 }
6582 catch (RecognitionException re) {
6583 _localctx.exception = re;
6584 _errHandler.reportError(this, re);
6585 _errHandler.recover(this, re);
6586 }
6587 finally {
6588 exitRule();
6589 }
6590 return _localctx;
6591 }
6592
6593 public static class BitExprContext extends ParserRuleContext {
6594 public SimpleExprContext simpleExpr() {
6595 return getRuleContext(SimpleExprContext.class,0);
6596 }
6597 public List<BitExprContext> bitExpr() {
6598 return getRuleContexts(BitExprContext.class);
6599 }
6600 public BitExprContext bitExpr(int i) {
6601 return getRuleContext(BitExprContext.class,i);
6602 }
6603 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
6604 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
6605 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_LEFT_SHIFT_, 0); }
6606 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
6607 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6608 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6609 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6610 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
6611 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
6612 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
6613 public BitExprContext(ParserRuleContext parent, int invokingState) {
6614 super(parent, invokingState);
6615 }
6616 @Override public int getRuleIndex() { return RULE_bitExpr; }
6617 @Override
6618 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6619 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitExpr(this);
6620 else return visitor.visitChildren(this);
6621 }
6622 }
6623
6624 public final BitExprContext bitExpr() throws RecognitionException {
6625 return bitExpr(0);
6626 }
6627
6628 private BitExprContext bitExpr(int _p) throws RecognitionException {
6629 ParserRuleContext _parentctx = _ctx;
6630 int _parentState = getState();
6631 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
6632 BitExprContext _prevctx = _localctx;
6633 int _startState = 114;
6634 enterRecursionRule(_localctx, 114, RULE_bitExpr, _p);
6635 try {
6636 int _alt;
6637 enterOuterAlt(_localctx, 1);
6638 {
6639 {
6640 setState(1470);
6641 simpleExpr(0);
6642 }
6643 _ctx.stop = _input.LT(-1);
6644 setState(1504);
6645 _errHandler.sync(this);
6646 _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
6647 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6648 if ( _alt==1 ) {
6649 if ( _parseListeners!=null ) triggerExitRuleEvent();
6650 _prevctx = _localctx;
6651 {
6652 setState(1502);
6653 _errHandler.sync(this);
6654 switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) {
6655 case 1:
6656 {
6657 _localctx = new BitExprContext(_parentctx, _parentState);
6658 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6659 setState(1472);
6660 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
6661 setState(1473);
6662 match(VERTICAL_BAR_);
6663 setState(1474);
6664 bitExpr(12);
6665 }
6666 break;
6667 case 2:
6668 {
6669 _localctx = new BitExprContext(_parentctx, _parentState);
6670 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6671 setState(1475);
6672 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
6673 setState(1476);
6674 match(AMPERSAND_);
6675 setState(1477);
6676 bitExpr(11);
6677 }
6678 break;
6679 case 3:
6680 {
6681 _localctx = new BitExprContext(_parentctx, _parentState);
6682 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6683 setState(1478);
6684 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
6685 setState(1479);
6686 match(SIGNED_LEFT_SHIFT_);
6687 setState(1480);
6688 bitExpr(10);
6689 }
6690 break;
6691 case 4:
6692 {
6693 _localctx = new BitExprContext(_parentctx, _parentState);
6694 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6695 setState(1481);
6696 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
6697 setState(1482);
6698 match(SIGNED_RIGHT_SHIFT_);
6699 setState(1483);
6700 bitExpr(9);
6701 }
6702 break;
6703 case 5:
6704 {
6705 _localctx = new BitExprContext(_parentctx, _parentState);
6706 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6707 setState(1484);
6708 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6709 setState(1485);
6710 match(PLUS_);
6711 setState(1486);
6712 bitExpr(8);
6713 }
6714 break;
6715 case 6:
6716 {
6717 _localctx = new BitExprContext(_parentctx, _parentState);
6718 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6719 setState(1487);
6720 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
6721 setState(1488);
6722 match(MINUS_);
6723 setState(1489);
6724 bitExpr(7);
6725 }
6726 break;
6727 case 7:
6728 {
6729 _localctx = new BitExprContext(_parentctx, _parentState);
6730 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6731 setState(1490);
6732 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6733 setState(1491);
6734 match(ASTERISK_);
6735 setState(1492);
6736 bitExpr(6);
6737 }
6738 break;
6739 case 8:
6740 {
6741 _localctx = new BitExprContext(_parentctx, _parentState);
6742 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6743 setState(1493);
6744 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6745 setState(1494);
6746 match(SLASH_);
6747 setState(1495);
6748 bitExpr(5);
6749 }
6750 break;
6751 case 9:
6752 {
6753 _localctx = new BitExprContext(_parentctx, _parentState);
6754 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6755 setState(1496);
6756 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6757 setState(1497);
6758 match(MOD_);
6759 setState(1498);
6760 bitExpr(4);
6761 }
6762 break;
6763 case 10:
6764 {
6765 _localctx = new BitExprContext(_parentctx, _parentState);
6766 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6767 setState(1499);
6768 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6769 setState(1500);
6770 match(CARET_);
6771 setState(1501);
6772 bitExpr(3);
6773 }
6774 break;
6775 }
6776 }
6777 }
6778 setState(1506);
6779 _errHandler.sync(this);
6780 _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
6781 }
6782 }
6783 }
6784 catch (RecognitionException re) {
6785 _localctx.exception = re;
6786 _errHandler.reportError(this, re);
6787 _errHandler.recover(this, re);
6788 }
6789 finally {
6790 unrollRecursionContexts(_parentctx);
6791 }
6792 return _localctx;
6793 }
6794
6795 public static class SimpleExprContext extends ParserRuleContext {
6796 public FunctionCallContext functionCall() {
6797 return getRuleContext(FunctionCallContext.class,0);
6798 }
6799 public ParameterMarkerContext parameterMarker() {
6800 return getRuleContext(ParameterMarkerContext.class,0);
6801 }
6802 public LiteralsContext literals() {
6803 return getRuleContext(LiteralsContext.class,0);
6804 }
6805 public ColumnNameContext columnName() {
6806 return getRuleContext(ColumnNameContext.class,0);
6807 }
6808 public VariableNameContext variableName() {
6809 return getRuleContext(VariableNameContext.class,0);
6810 }
6811 public List<SimpleExprContext> simpleExpr() {
6812 return getRuleContexts(SimpleExprContext.class);
6813 }
6814 public SimpleExprContext simpleExpr(int i) {
6815 return getRuleContext(SimpleExprContext.class,i);
6816 }
6817 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6818 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6819 public TerminalNode TILDE_() { return getToken(SQLServerStatementParser.TILDE_, 0); }
6820 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6821 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
6822 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
6823 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
6824 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
6825 public List<ExprContext> expr() {
6826 return getRuleContexts(ExprContext.class);
6827 }
6828 public ExprContext expr(int i) {
6829 return getRuleContext(ExprContext.class,i);
6830 }
6831 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
6832 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6833 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6834 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
6835 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6836 public TerminalNode COMMA_(int i) {
6837 return getToken(SQLServerStatementParser.COMMA_, i);
6838 }
6839 public SubqueryContext subquery() {
6840 return getRuleContext(SubqueryContext.class,0);
6841 }
6842 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
6843 public TerminalNode LBT_() { return getToken(SQLServerStatementParser.LBT_, 0); }
6844 public TerminalNode RBT_() { return getToken(SQLServerStatementParser.RBT_, 0); }
6845 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
6846 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
6847 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
6848 public TerminalNode DOT_(int i) {
6849 return getToken(SQLServerStatementParser.DOT_, i);
6850 }
6851 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
6852 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
6853 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
6854 public CaseExpressionContext caseExpression() {
6855 return getRuleContext(CaseExpressionContext.class,0);
6856 }
6857 public PrivateExprOfDbContext privateExprOfDb() {
6858 return getRuleContext(PrivateExprOfDbContext.class,0);
6859 }
6860 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6861 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
6862 super(parent, invokingState);
6863 }
6864 @Override public int getRuleIndex() { return RULE_simpleExpr; }
6865 @Override
6866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
6868 else return visitor.visitChildren(this);
6869 }
6870 }
6871
6872 public final SimpleExprContext simpleExpr() throws RecognitionException {
6873 return simpleExpr(0);
6874 }
6875
6876 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
6877 ParserRuleContext _parentctx = _ctx;
6878 int _parentState = getState();
6879 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
6880 SimpleExprContext _prevctx = _localctx;
6881 int _startState = 116;
6882 enterRecursionRule(_localctx, 116, RULE_simpleExpr, _p);
6883 int _la;
6884 try {
6885 int _alt;
6886 enterOuterAlt(_localctx, 1);
6887 {
6888 setState(1566);
6889 _errHandler.sync(this);
6890 switch ( getInterpreter().adaptivePredict(_input,65,_ctx) ) {
6891 case 1:
6892 {
6893 setState(1508);
6894 functionCall();
6895 }
6896 break;
6897 case 2:
6898 {
6899 setState(1509);
6900 parameterMarker();
6901 }
6902 break;
6903 case 3:
6904 {
6905 setState(1510);
6906 literals();
6907 }
6908 break;
6909 case 4:
6910 {
6911 setState(1511);
6912 columnName();
6913 }
6914 break;
6915 case 5:
6916 {
6917 setState(1512);
6918 variableName();
6919 }
6920 break;
6921 case 6:
6922 {
6923 setState(1513);
6924 _la = _input.LA(1);
6925 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << DOLLAR_))) != 0) || _la==BINARY) ) {
6926 _errHandler.recoverInline(this);
6927 }
6928 else {
6929 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6930 _errHandler.reportMatch(this);
6931 consume();
6932 }
6933 setState(1514);
6934 simpleExpr(8);
6935 }
6936 break;
6937 case 7:
6938 {
6939 setState(1515);
6940 match(CURRENT);
6941 setState(1516);
6942 match(OF);
6943 setState(1518);
6944 _errHandler.sync(this);
6945 switch ( getInterpreter().adaptivePredict(_input,58,_ctx) ) {
6946 case 1:
6947 {
6948 setState(1517);
6949 match(GLOBAL);
6950 }
6951 break;
6952 }
6953 setState(1520);
6954 expr(0);
6955 }
6956 break;
6957 case 8:
6958 {
6959 setState(1522);
6960 _errHandler.sync(this);
6961 _la = _input.LA(1);
6962 if (_la==ROW) {
6963 {
6964 setState(1521);
6965 match(ROW);
6966 }
6967 }
6968
6969 setState(1524);
6970 match(LP_);
6971 setState(1525);
6972 expr(0);
6973 setState(1530);
6974 _errHandler.sync(this);
6975 _la = _input.LA(1);
6976 while (_la==COMMA_) {
6977 {
6978 {
6979 setState(1526);
6980 match(COMMA_);
6981 setState(1527);
6982 expr(0);
6983 }
6984 }
6985 setState(1532);
6986 _errHandler.sync(this);
6987 _la = _input.LA(1);
6988 }
6989 setState(1533);
6990 match(RP_);
6991 }
6992 break;
6993 case 9:
6994 {
6995 setState(1536);
6996 _errHandler.sync(this);
6997 _la = _input.LA(1);
6998 if (_la==EXISTS) {
6999 {
7000 setState(1535);
7001 match(EXISTS);
7002 }
7003 }
7004
7005 setState(1538);
7006 subquery();
7007 }
7008 break;
7009 case 10:
7010 {
7011 setState(1539);
7012 match(LBT_);
7013 setState(1540);
7014 expr(0);
7015 setState(1541);
7016 match(RBT_);
7017 }
7018 break;
7019 case 11:
7020 {
7021 setState(1543);
7022 match(LBE_);
7023 setState(1544);
7024 expr(0);
7025 setState(1549);
7026 _errHandler.sync(this);
7027 _la = _input.LA(1);
7028 while (_la==DOT_) {
7029 {
7030 {
7031 setState(1545);
7032 match(DOT_);
7033 setState(1546);
7034 expr(0);
7035 }
7036 }
7037 setState(1551);
7038 _errHandler.sync(this);
7039 _la = _input.LA(1);
7040 }
7041 setState(1556);
7042 _errHandler.sync(this);
7043 _la = _input.LA(1);
7044 while (_la==COMMA_) {
7045 {
7046 {
7047 setState(1552);
7048 match(COMMA_);
7049 setState(1553);
7050 expr(0);
7051 }
7052 }
7053 setState(1558);
7054 _errHandler.sync(this);
7055 _la = _input.LA(1);
7056 }
7057 setState(1559);
7058 match(RBE_);
7059 setState(1562);
7060 _errHandler.sync(this);
7061 switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) {
7062 case 1:
7063 {
7064 setState(1560);
7065 match(ON);
7066 setState(1561);
7067 _la = _input.LA(1);
7068 if ( !(_la==COLUMNS || _la==ROWS) ) {
7069 _errHandler.recoverInline(this);
7070 }
7071 else {
7072 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7073 _errHandler.reportMatch(this);
7074 consume();
7075 }
7076 }
7077 break;
7078 }
7079 }
7080 break;
7081 case 12:
7082 {
7083 setState(1564);
7084 caseExpression();
7085 }
7086 break;
7087 case 13:
7088 {
7089 setState(1565);
7090 privateExprOfDb();
7091 }
7092 break;
7093 }
7094 _ctx.stop = _input.LT(-1);
7095 setState(1573);
7096 _errHandler.sync(this);
7097 _alt = getInterpreter().adaptivePredict(_input,66,_ctx);
7098 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
7099 if ( _alt==1 ) {
7100 if ( _parseListeners!=null ) triggerExitRuleEvent();
7101 _prevctx = _localctx;
7102 {
7103 {
7104 _localctx = new SimpleExprContext(_parentctx, _parentState);
7105 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
7106 setState(1568);
7107 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
7108 setState(1569);
7109 match(OR_);
7110 setState(1570);
7111 simpleExpr(10);
7112 }
7113 }
7114 }
7115 setState(1575);
7116 _errHandler.sync(this);
7117 _alt = getInterpreter().adaptivePredict(_input,66,_ctx);
7118 }
7119 }
7120 }
7121 catch (RecognitionException re) {
7122 _localctx.exception = re;
7123 _errHandler.reportError(this, re);
7124 _errHandler.recover(this, re);
7125 }
7126 finally {
7127 unrollRecursionContexts(_parentctx);
7128 }
7129 return _localctx;
7130 }
7131
7132 public static class FunctionCallContext extends ParserRuleContext {
7133 public AggregationFunctionContext aggregationFunction() {
7134 return getRuleContext(AggregationFunctionContext.class,0);
7135 }
7136 public SpecialFunctionContext specialFunction() {
7137 return getRuleContext(SpecialFunctionContext.class,0);
7138 }
7139 public RegularFunctionContext regularFunction() {
7140 return getRuleContext(RegularFunctionContext.class,0);
7141 }
7142 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
7143 super(parent, invokingState);
7144 }
7145 @Override public int getRuleIndex() { return RULE_functionCall; }
7146 @Override
7147 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7148 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
7149 else return visitor.visitChildren(this);
7150 }
7151 }
7152
7153 public final FunctionCallContext functionCall() throws RecognitionException {
7154 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
7155 enterRule(_localctx, 118, RULE_functionCall);
7156 try {
7157 setState(1579);
7158 _errHandler.sync(this);
7159 switch ( getInterpreter().adaptivePredict(_input,67,_ctx) ) {
7160 case 1:
7161 enterOuterAlt(_localctx, 1);
7162 {
7163 setState(1576);
7164 aggregationFunction();
7165 }
7166 break;
7167 case 2:
7168 enterOuterAlt(_localctx, 2);
7169 {
7170 setState(1577);
7171 specialFunction();
7172 }
7173 break;
7174 case 3:
7175 enterOuterAlt(_localctx, 3);
7176 {
7177 setState(1578);
7178 regularFunction();
7179 }
7180 break;
7181 }
7182 }
7183 catch (RecognitionException re) {
7184 _localctx.exception = re;
7185 _errHandler.reportError(this, re);
7186 _errHandler.recover(this, re);
7187 }
7188 finally {
7189 exitRule();
7190 }
7191 return _localctx;
7192 }
7193
7194 public static class AggregationFunctionContext extends ParserRuleContext {
7195 public AggregationFunctionNameContext aggregationFunctionName() {
7196 return getRuleContext(AggregationFunctionNameContext.class,0);
7197 }
7198 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7199 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7200 public DistinctContext distinct() {
7201 return getRuleContext(DistinctContext.class,0);
7202 }
7203 public List<ExprContext> expr() {
7204 return getRuleContexts(ExprContext.class);
7205 }
7206 public ExprContext expr(int i) {
7207 return getRuleContext(ExprContext.class,i);
7208 }
7209 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
7210 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7211 public TerminalNode COMMA_(int i) {
7212 return getToken(SQLServerStatementParser.COMMA_, i);
7213 }
7214 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
7215 super(parent, invokingState);
7216 }
7217 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
7218 @Override
7219 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7220 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
7221 else return visitor.visitChildren(this);
7222 }
7223 }
7224
7225 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
7226 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
7227 enterRule(_localctx, 120, RULE_aggregationFunction);
7228 int _la;
7229 try {
7230 enterOuterAlt(_localctx, 1);
7231 {
7232 setState(1581);
7233 aggregationFunctionName();
7234 setState(1582);
7235 match(LP_);
7236 setState(1584);
7237 _errHandler.sync(this);
7238 _la = _input.LA(1);
7239 if (_la==DISTINCT) {
7240 {
7241 setState(1583);
7242 distinct();
7243 }
7244 }
7245
7246 setState(1595);
7247 _errHandler.sync(this);
7248 switch (_input.LA(1)) {
7249 case NOT_:
7250 case TILDE_:
7251 case PLUS_:
7252 case MINUS_:
7253 case LP_:
7254 case LBE_:
7255 case LBT_:
7256 case QUESTION_:
7257 case DOLLAR_:
7258 case TRUNCATE:
7259 case SCHEMA:
7260 case COLUMNS:
7261 case PRECISION:
7262 case FUNCTION:
7263 case TRIGGER:
7264 case CASE:
7265 case CAST:
7266 case TRIM:
7267 case SUBSTRING:
7268 case RIGHT:
7269 case OFF:
7270 case IF:
7271 case NOT:
7272 case NULL:
7273 case TRUE:
7274 case FALSE:
7275 case EXISTS:
7276 case GROUP:
7277 case LIMIT:
7278 case OFFSET:
7279 case SAVEPOINT:
7280 case BOOLEAN:
7281 case CHAR:
7282 case ARRAY:
7283 case INTERVAL:
7284 case DATE:
7285 case TIME:
7286 case TIMESTAMP:
7287 case LOCALTIME:
7288 case LOCALTIMESTAMP:
7289 case YEAR:
7290 case QUARTER:
7291 case MONTH:
7292 case WEEK:
7293 case DAY:
7294 case SECOND:
7295 case MICROSECOND:
7296 case MAX:
7297 case MIN:
7298 case SUM:
7299 case COUNT:
7300 case AVG:
7301 case CURRENT:
7302 case ENABLE:
7303 case DISABLE:
7304 case INSTANCE:
7305 case DO:
7306 case DEFINER:
7307 case SQL:
7308 case CASCADED:
7309 case LOCAL:
7310 case NEXT:
7311 case NAME:
7312 case INTEGER:
7313 case TYPE:
7314 case TEXT:
7315 case VIEWS:
7316 case READ_ONLY:
7317 case DATABASE:
7318 case RETURNS:
7319 case DATEPART:
7320 case PASSWORD:
7321 case JSON_OBJECT:
7322 case JSON_ARRAY:
7323 case FIRST_VALUE:
7324 case LAST_VALUE:
7325 case APPROX_PERCENTILE_CONT:
7326 case APPROX_PERCENTILE_DISC:
7327 case OPENDATASOURCE:
7328 case BINARY:
7329 case HIDDEN_:
7330 case MOD:
7331 case PARTITION:
7332 case PARTITIONS:
7333 case TOP:
7334 case ROW:
7335 case ROWS:
7336 case XOR:
7337 case ALWAYS:
7338 case USER:
7339 case ROLE:
7340 case START:
7341 case ALGORITHM:
7342 case AUTO:
7343 case BLOCKERS:
7344 case CLUSTERED:
7345 case NONCLUSTERED:
7346 case COLUMNSTORE:
7347 case CONTENT:
7348 case CONVERT:
7349 case YEARS:
7350 case MONTHS:
7351 case WEEKS:
7352 case DAYS:
7353 case MINUTES:
7354 case DENY:
7355 case DETERMINISTIC:
7356 case DISTRIBUTION:
7357 case DOCUMENT:
7358 case DURABILITY:
7359 case ENCRYPTED:
7360 case FILESTREAM:
7361 case FILETABLE:
7362 case FILLFACTOR:
7363 case FOLLOWING:
7364 case HASH:
7365 case HEAP:
7366 case INBOUND:
7367 case OUTBOUND:
7368 case UNBOUNDED:
7369 case INFINITE:
7370 case LOGIN:
7371 case MASKED:
7372 case MAXDOP:
7373 case MOVE:
7374 case NOCHECK:
7375 case OBJECT:
7376 case ONLINE:
7377 case OVER:
7378 case PAGE:
7379 case PAUSED:
7380 case PERIOD:
7381 case PERSISTED:
7382 case PRECEDING:
7383 case RANDOMIZED:
7384 case RANGE:
7385 case REBUILD:
7386 case REPLICATE:
7387 case REPLICATION:
7388 case RESUMABLE:
7389 case ROWGUIDCOL:
7390 case SAVE:
7391 case SELF:
7392 case SPARSE:
7393 case SWITCH:
7394 case TRAN:
7395 case TRANCOUNT:
7396 case CONTROL:
7397 case CONCAT:
7398 case TAKE:
7399 case OWNERSHIP:
7400 case DEFINITION:
7401 case APPLICATION:
7402 case ASSEMBLY:
7403 case SYMMETRIC:
7404 case ASYMMETRIC:
7405 case SERVER:
7406 case RECEIVE:
7407 case CHANGE:
7408 case TRACE:
7409 case TRACKING:
7410 case RESOURCES:
7411 case SETTINGS:
7412 case STATE:
7413 case AVAILABILITY:
7414 case CREDENTIAL:
7415 case ENDPOINT:
7416 case EVENT:
7417 case NOTIFICATION:
7418 case LINKED:
7419 case AUDIT:
7420 case DDL:
7421 case XML:
7422 case IMPERSONATE:
7423 case SECURABLES:
7424 case AUTHENTICATE:
7425 case EXTERNAL:
7426 case ACCESS:
7427 case ADMINISTER:
7428 case BULK:
7429 case OPERATIONS:
7430 case UNSAFE:
7431 case SHUTDOWN:
7432 case SCOPED:
7433 case CONFIGURATION:
7434 case DATASPACE:
7435 case SERVICE:
7436 case CERTIFICATE:
7437 case CONTRACT:
7438 case ENCRYPTION:
7439 case MASTER:
7440 case DATA:
7441 case SOURCE:
7442 case FILE:
7443 case FORMAT:
7444 case LIBRARY:
7445 case FULLTEXT:
7446 case MASK:
7447 case UNMASK:
7448 case MESSAGE:
7449 case REMOTE:
7450 case BINDING:
7451 case ROUTE:
7452 case SECURITY:
7453 case POLICY:
7454 case AGGREGATE:
7455 case QUEUE:
7456 case RULE:
7457 case SYNONYM:
7458 case COLLECTION:
7459 case SCRIPT:
7460 case KILL:
7461 case BACKUP:
7462 case LOG:
7463 case SHOWPLAN:
7464 case SUBSCRIBE:
7465 case QUERY:
7466 case NOTIFICATIONS:
7467 case CHECKPOINT:
7468 case SEQUENCE:
7469 case ABORT_AFTER_WAIT:
7470 case ALLOW_PAGE_LOCKS:
7471 case ALLOW_ROW_LOCKS:
7472 case ALL_SPARSE_COLUMNS:
7473 case BUCKET_COUNT:
7474 case COLUMNSTORE_ARCHIVE:
7475 case COLUMN_ENCRYPTION_KEY:
7476 case COLUMN_SET:
7477 case COMPRESSION_DELAY:
7478 case DATABASE_DEAULT:
7479 case DATA_COMPRESSION:
7480 case DATA_CONSISTENCY_CHECK:
7481 case ENCRYPTION_TYPE:
7482 case SYSTEM_TIME:
7483 case SYSTEM_VERSIONING:
7484 case TEXTIMAGE_ON:
7485 case WAIT_AT_LOW_PRIORITY:
7486 case STATISTICS_INCREMENTAL:
7487 case STATISTICS_NORECOMPUTE:
7488 case ROUND_ROBIN:
7489 case SCHEMA_AND_DATA:
7490 case SCHEMA_ONLY:
7491 case SORT_IN_TEMPDB:
7492 case IGNORE_DUP_KEY:
7493 case IMPLICIT_TRANSACTIONS:
7494 case MAX_DURATION:
7495 case MEMORY_OPTIMIZED:
7496 case MIGRATION_STATE:
7497 case PAD_INDEX:
7498 case REMOTE_DATA_ARCHIVE:
7499 case FILESTREAM_ON:
7500 case FILETABLE_COLLATE_FILENAME:
7501 case FILETABLE_DIRECTORY:
7502 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
7503 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
7504 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
7505 case FILTER_PREDICATE:
7506 case HISTORY_RETENTION_PERIOD:
7507 case HISTORY_TABLE:
7508 case LOCK_ESCALATION:
7509 case DROP_EXISTING:
7510 case ROW_NUMBER:
7511 case FIRST:
7512 case DATETIME2:
7513 case OUTPUT:
7514 case INSERTED:
7515 case DELETED:
7516 case FILENAME:
7517 case SIZE:
7518 case MAXSIZE:
7519 case FILEGROWTH:
7520 case UNLIMITED:
7521 case KB:
7522 case MB:
7523 case GB:
7524 case TB:
7525 case CONTAINS:
7526 case MEMORY_OPTIMIZED_DATA:
7527 case FILEGROUP:
7528 case NON_TRANSACTED_ACCESS:
7529 case DB_CHAINING:
7530 case TRUSTWORTHY:
7531 case FORWARD_ONLY:
7532 case KEYSET:
7533 case FAST_FORWARD:
7534 case SCROLL_LOCKS:
7535 case OPTIMISTIC:
7536 case TYPE_WARNING:
7537 case SCHEMABINDING:
7538 case CALLER:
7539 case INPUT:
7540 case OWNER:
7541 case SNAPSHOT:
7542 case REPEATABLE:
7543 case SERIALIZABLE:
7544 case NATIVE_COMPILATION:
7545 case VIEW_METADATA:
7546 case INSTEAD:
7547 case APPEND:
7548 case INCREMENT:
7549 case CACHE:
7550 case MINVALUE:
7551 case MAXVALUE:
7552 case RESTART:
7553 case LOB_COMPACTION:
7554 case COMPRESS_ALL_ROW_GROUPS:
7555 case REORGANIZE:
7556 case RESUME:
7557 case PAUSE:
7558 case ABORT:
7559 case ACCELERATED_DATABASE_RECOVERY:
7560 case PERSISTENT_VERSION_STORE_FILEGROUP:
7561 case IMMEDIATE:
7562 case NO_WAIT:
7563 case TARGET_RECOVERY_TIME:
7564 case SECONDS:
7565 case HONOR_BROKER_PRIORITY:
7566 case ERROR_BROKER_CONVERSATIONS:
7567 case NEW_BROKER:
7568 case DISABLE_BROKER:
7569 case ENABLE_BROKER:
7570 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
7571 case READ_COMMITTED_SNAPSHOT:
7572 case ALLOW_SNAPSHOT_ISOLATION:
7573 case RECURSIVE_TRIGGERS:
7574 case QUOTED_IDENTIFIER:
7575 case NUMERIC_ROUNDABORT:
7576 case CONCAT_NULL_YIELDS_NULL:
7577 case COMPATIBILITY_LEVEL:
7578 case ARITHABORT:
7579 case ANSI_WARNINGS:
7580 case ANSI_PADDING:
7581 case ANSI_NULLS:
7582 case ANSI_NULL_DEFAULT:
7583 case PAGE_VERIFY:
7584 case CHECKSUM:
7585 case TORN_PAGE_DETECTION:
7586 case BULK_LOGGED:
7587 case RECOVERY:
7588 case TOTAL_EXECUTION_CPU_TIME_MS:
7589 case TOTAL_COMPILE_CPU_TIME_MS:
7590 case STALE_CAPTURE_POLICY_THRESHOLD:
7591 case EXECUTION_COUNT:
7592 case QUERY_CAPTURE_POLICY:
7593 case WAIT_STATS_CAPTURE_MODE:
7594 case MAX_PLANS_PER_QUERY:
7595 case QUERY_CAPTURE_MODE:
7596 case SIZE_BASED_CLEANUP_MODE:
7597 case INTERVAL_LENGTH_MINUTES:
7598 case MAX_STORAGE_SIZE_MB:
7599 case DATA_FLUSH_INTERVAL_SECONDS:
7600 case CLEANUP_POLICY:
7601 case CUSTOM:
7602 case STALE_QUERY_THRESHOLD_DAYS:
7603 case OPERATION_MODE:
7604 case QUERY_STORE:
7605 case CURSOR_DEFAULT:
7606 case GLOBAL:
7607 case CURSOR_CLOSE_ON_COMMIT:
7608 case HOURS:
7609 case CHANGE_RETENTION:
7610 case AUTO_CLEANUP:
7611 case CHANGE_TRACKING:
7612 case AUTOMATIC_TUNING:
7613 case FORCE_LAST_GOOD_PLAN:
7614 case AUTO_UPDATE_STATISTICS_ASYNC:
7615 case AUTO_UPDATE_STATISTICS:
7616 case AUTO_SHRINK:
7617 case AUTO_CREATE_STATISTICS:
7618 case INCREMENTAL:
7619 case AUTO_CLOSE:
7620 case DATA_RETENTION:
7621 case TEMPORAL_HISTORY_RETENTION:
7622 case EDITION:
7623 case MIXED_PAGE_ALLOCATION:
7624 case DISABLED:
7625 case ALLOWED:
7626 case HADR:
7627 case MULTI_USER:
7628 case RESTRICTED_USER:
7629 case SINGLE_USER:
7630 case OFFLINE:
7631 case EMERGENCY:
7632 case SUSPEND:
7633 case DATE_CORRELATION_OPTIMIZATION:
7634 case ELASTIC_POOL:
7635 case SERVICE_OBJECTIVE:
7636 case DATABASE_NAME:
7637 case ALLOW_CONNECTIONS:
7638 case GEO:
7639 case NAMED:
7640 case DATEFIRST:
7641 case BACKUP_STORAGE_REDUNDANCY:
7642 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
7643 case SECONDARY:
7644 case FAILOVER:
7645 case DEFAULT_FULLTEXT_LANGUAGE:
7646 case DEFAULT_LANGUAGE:
7647 case INLINE:
7648 case NESTED_TRIGGERS:
7649 case TRANSFORM_NOISE_WORDS:
7650 case TWO_DIGIT_YEAR_CUTOFF:
7651 case PERSISTENT_LOG_BUFFER:
7652 case DIRECTORY_NAME:
7653 case DATEFORMAT:
7654 case DELAYED_DURABILITY:
7655 case AUTHORIZATION:
7656 case TRANSFER:
7657 case PROVIDER:
7658 case SID:
7659 case SEARCH:
7660 case MEMBER:
7661 case JSON:
7662 case OPENJSON:
7663 case OPENROWSET:
7664 case TRY_CAST:
7665 case TRY_CONVERT:
7666 case IDENTIFIER_:
7667 case DELIMITED_IDENTIFIER_:
7668 case STRING_:
7669 case NUMBER_:
7670 case HEX_DIGIT_:
7671 case BIT_NUM_:
7672 case NCHAR_TEXT:
7673 {
7674 setState(1586);
7675 expr(0);
7676 setState(1591);
7677 _errHandler.sync(this);
7678 _la = _input.LA(1);
7679 while (_la==COMMA_) {
7680 {
7681 {
7682 setState(1587);
7683 match(COMMA_);
7684 setState(1588);
7685 expr(0);
7686 }
7687 }
7688 setState(1593);
7689 _errHandler.sync(this);
7690 _la = _input.LA(1);
7691 }
7692 }
7693 break;
7694 case ASTERISK_:
7695 {
7696 setState(1594);
7697 match(ASTERISK_);
7698 }
7699 break;
7700 case RP_:
7701 break;
7702 default:
7703 break;
7704 }
7705 setState(1597);
7706 match(RP_);
7707 }
7708 }
7709 catch (RecognitionException re) {
7710 _localctx.exception = re;
7711 _errHandler.reportError(this, re);
7712 _errHandler.recover(this, re);
7713 }
7714 finally {
7715 exitRule();
7716 }
7717 return _localctx;
7718 }
7719
7720 public static class AggregationFunctionNameContext extends ParserRuleContext {
7721 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
7722 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
7723 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
7724 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
7725 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
7726 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
7727 super(parent, invokingState);
7728 }
7729 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
7730 @Override
7731 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7732 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
7733 else return visitor.visitChildren(this);
7734 }
7735 }
7736
7737 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
7738 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
7739 enterRule(_localctx, 122, RULE_aggregationFunctionName);
7740 int _la;
7741 try {
7742 enterOuterAlt(_localctx, 1);
7743 {
7744 setState(1599);
7745 _la = _input.LA(1);
7746 if ( !(((((_la - 149)) & ~0x3f) == 0 && ((1L << (_la - 149)) & ((1L << (MAX - 149)) | (1L << (MIN - 149)) | (1L << (SUM - 149)) | (1L << (COUNT - 149)) | (1L << (AVG - 149)))) != 0)) ) {
7747 _errHandler.recoverInline(this);
7748 }
7749 else {
7750 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7751 _errHandler.reportMatch(this);
7752 consume();
7753 }
7754 }
7755 }
7756 catch (RecognitionException re) {
7757 _localctx.exception = re;
7758 _errHandler.reportError(this, re);
7759 _errHandler.recover(this, re);
7760 }
7761 finally {
7762 exitRule();
7763 }
7764 return _localctx;
7765 }
7766
7767 public static class DistinctContext extends ParserRuleContext {
7768 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
7769 public DistinctContext(ParserRuleContext parent, int invokingState) {
7770 super(parent, invokingState);
7771 }
7772 @Override public int getRuleIndex() { return RULE_distinct; }
7773 @Override
7774 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7775 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinct(this);
7776 else return visitor.visitChildren(this);
7777 }
7778 }
7779
7780 public final DistinctContext distinct() throws RecognitionException {
7781 DistinctContext _localctx = new DistinctContext(_ctx, getState());
7782 enterRule(_localctx, 124, RULE_distinct);
7783 try {
7784 enterOuterAlt(_localctx, 1);
7785 {
7786 setState(1601);
7787 match(DISTINCT);
7788 }
7789 }
7790 catch (RecognitionException re) {
7791 _localctx.exception = re;
7792 _errHandler.reportError(this, re);
7793 _errHandler.recover(this, re);
7794 }
7795 finally {
7796 exitRule();
7797 }
7798 return _localctx;
7799 }
7800
7801 public static class SpecialFunctionContext extends ParserRuleContext {
7802 public ConversionFunctionContext conversionFunction() {
7803 return getRuleContext(ConversionFunctionContext.class,0);
7804 }
7805 public CharFunctionContext charFunction() {
7806 return getRuleContext(CharFunctionContext.class,0);
7807 }
7808 public OpenJsonFunctionContext openJsonFunction() {
7809 return getRuleContext(OpenJsonFunctionContext.class,0);
7810 }
7811 public JsonFunctionContext jsonFunction() {
7812 return getRuleContext(JsonFunctionContext.class,0);
7813 }
7814 public OpenRowSetFunctionContext openRowSetFunction() {
7815 return getRuleContext(OpenRowSetFunctionContext.class,0);
7816 }
7817 public WindowFunctionContext windowFunction() {
7818 return getRuleContext(WindowFunctionContext.class,0);
7819 }
7820 public ApproxFunctionContext approxFunction() {
7821 return getRuleContext(ApproxFunctionContext.class,0);
7822 }
7823 public OpenDatasourceFunctionContext openDatasourceFunction() {
7824 return getRuleContext(OpenDatasourceFunctionContext.class,0);
7825 }
7826 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
7827 super(parent, invokingState);
7828 }
7829 @Override public int getRuleIndex() { return RULE_specialFunction; }
7830 @Override
7831 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7832 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
7833 else return visitor.visitChildren(this);
7834 }
7835 }
7836
7837 public final SpecialFunctionContext specialFunction() throws RecognitionException {
7838 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
7839 enterRule(_localctx, 126, RULE_specialFunction);
7840 try {
7841 setState(1611);
7842 _errHandler.sync(this);
7843 switch (_input.LA(1)) {
7844 case CAST:
7845 case CONVERT:
7846 case TRY_CAST:
7847 case TRY_CONVERT:
7848 enterOuterAlt(_localctx, 1);
7849 {
7850 setState(1603);
7851 conversionFunction();
7852 }
7853 break;
7854 case CHAR:
7855 enterOuterAlt(_localctx, 2);
7856 {
7857 setState(1604);
7858 charFunction();
7859 }
7860 break;
7861 case OPENJSON:
7862 enterOuterAlt(_localctx, 3);
7863 {
7864 setState(1605);
7865 openJsonFunction();
7866 }
7867 break;
7868 case JSON_OBJECT:
7869 case JSON_ARRAY:
7870 enterOuterAlt(_localctx, 4);
7871 {
7872 setState(1606);
7873 jsonFunction();
7874 }
7875 break;
7876 case OPENROWSET:
7877 enterOuterAlt(_localctx, 5);
7878 {
7879 setState(1607);
7880 openRowSetFunction();
7881 }
7882 break;
7883 case FIRST_VALUE:
7884 case LAST_VALUE:
7885 enterOuterAlt(_localctx, 6);
7886 {
7887 setState(1608);
7888 windowFunction();
7889 }
7890 break;
7891 case APPROX_PERCENTILE_CONT:
7892 case APPROX_PERCENTILE_DISC:
7893 enterOuterAlt(_localctx, 7);
7894 {
7895 setState(1609);
7896 approxFunction();
7897 }
7898 break;
7899 case OPENDATASOURCE:
7900 enterOuterAlt(_localctx, 8);
7901 {
7902 setState(1610);
7903 openDatasourceFunction();
7904 }
7905 break;
7906 default:
7907 throw new NoViableAltException(this);
7908 }
7909 }
7910 catch (RecognitionException re) {
7911 _localctx.exception = re;
7912 _errHandler.reportError(this, re);
7913 _errHandler.recover(this, re);
7914 }
7915 finally {
7916 exitRule();
7917 }
7918 return _localctx;
7919 }
7920
7921 public static class OpenDatasourceFunctionContext extends ParserRuleContext {
7922 public TerminalNode OPENDATASOURCE() { return getToken(SQLServerStatementParser.OPENDATASOURCE, 0); }
7923 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7924 public List<ExprContext> expr() {
7925 return getRuleContexts(ExprContext.class);
7926 }
7927 public ExprContext expr(int i) {
7928 return getRuleContext(ExprContext.class,i);
7929 }
7930 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
7931 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7932 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
7933 public TableNameContext tableName() {
7934 return getRuleContext(TableNameContext.class,0);
7935 }
7936 public OpenDatasourceFunctionContext(ParserRuleContext parent, int invokingState) {
7937 super(parent, invokingState);
7938 }
7939 @Override public int getRuleIndex() { return RULE_openDatasourceFunction; }
7940 @Override
7941 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7942 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenDatasourceFunction(this);
7943 else return visitor.visitChildren(this);
7944 }
7945 }
7946
7947 public final OpenDatasourceFunctionContext openDatasourceFunction() throws RecognitionException {
7948 OpenDatasourceFunctionContext _localctx = new OpenDatasourceFunctionContext(_ctx, getState());
7949 enterRule(_localctx, 128, RULE_openDatasourceFunction);
7950 try {
7951 enterOuterAlt(_localctx, 1);
7952 {
7953 {
7954 setState(1613);
7955 match(OPENDATASOURCE);
7956 setState(1614);
7957 match(LP_);
7958 setState(1615);
7959 expr(0);
7960 setState(1616);
7961 match(COMMA_);
7962 setState(1617);
7963 expr(0);
7964 setState(1618);
7965 match(RP_);
7966 }
7967 setState(1622);
7968 _errHandler.sync(this);
7969 switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
7970 case 1:
7971 {
7972 setState(1620);
7973 match(DOT_);
7974 setState(1621);
7975 tableName();
7976 }
7977 break;
7978 }
7979 }
7980 }
7981 catch (RecognitionException re) {
7982 _localctx.exception = re;
7983 _errHandler.reportError(this, re);
7984 _errHandler.recover(this, re);
7985 }
7986 finally {
7987 exitRule();
7988 }
7989 return _localctx;
7990 }
7991
7992 public static class ApproxFunctionContext extends ParserRuleContext {
7993 public Token funcName;
7994 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
7995 public TerminalNode LP_(int i) {
7996 return getToken(SQLServerStatementParser.LP_, i);
7997 }
7998 public List<ExprContext> expr() {
7999 return getRuleContexts(ExprContext.class);
8000 }
8001 public ExprContext expr(int i) {
8002 return getRuleContext(ExprContext.class,i);
8003 }
8004 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
8005 public TerminalNode RP_(int i) {
8006 return getToken(SQLServerStatementParser.RP_, i);
8007 }
8008 public TerminalNode WITHIN() { return getToken(SQLServerStatementParser.WITHIN, 0); }
8009 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
8010 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
8011 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
8012 public TerminalNode APPROX_PERCENTILE_CONT() { return getToken(SQLServerStatementParser.APPROX_PERCENTILE_CONT, 0); }
8013 public TerminalNode APPROX_PERCENTILE_DISC() { return getToken(SQLServerStatementParser.APPROX_PERCENTILE_DISC, 0); }
8014 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
8015 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
8016 public ApproxFunctionContext(ParserRuleContext parent, int invokingState) {
8017 super(parent, invokingState);
8018 }
8019 @Override public int getRuleIndex() { return RULE_approxFunction; }
8020 @Override
8021 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8022 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApproxFunction(this);
8023 else return visitor.visitChildren(this);
8024 }
8025 }
8026
8027 public final ApproxFunctionContext approxFunction() throws RecognitionException {
8028 ApproxFunctionContext _localctx = new ApproxFunctionContext(_ctx, getState());
8029 enterRule(_localctx, 130, RULE_approxFunction);
8030 int _la;
8031 try {
8032 enterOuterAlt(_localctx, 1);
8033 {
8034 setState(1624);
8035 ((ApproxFunctionContext)_localctx).funcName = _input.LT(1);
8036 _la = _input.LA(1);
8037 if ( !(_la==APPROX_PERCENTILE_CONT || _la==APPROX_PERCENTILE_DISC) ) {
8038 ((ApproxFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
8039 }
8040 else {
8041 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8042 _errHandler.reportMatch(this);
8043 consume();
8044 }
8045 setState(1625);
8046 match(LP_);
8047 setState(1626);
8048 expr(0);
8049 setState(1627);
8050 match(RP_);
8051 setState(1628);
8052 match(WITHIN);
8053 setState(1629);
8054 match(GROUP);
8055 setState(1630);
8056 match(LP_);
8057 setState(1631);
8058 match(ORDER);
8059 setState(1632);
8060 match(BY);
8061 setState(1633);
8062 expr(0);
8063 setState(1635);
8064 _errHandler.sync(this);
8065 _la = _input.LA(1);
8066 if (_la==ASC || _la==DESC) {
8067 {
8068 setState(1634);
8069 _la = _input.LA(1);
8070 if ( !(_la==ASC || _la==DESC) ) {
8071 _errHandler.recoverInline(this);
8072 }
8073 else {
8074 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8075 _errHandler.reportMatch(this);
8076 consume();
8077 }
8078 }
8079 }
8080
8081 setState(1637);
8082 match(RP_);
8083 }
8084 }
8085 catch (RecognitionException re) {
8086 _localctx.exception = re;
8087 _errHandler.reportError(this, re);
8088 _errHandler.recover(this, re);
8089 }
8090 finally {
8091 exitRule();
8092 }
8093 return _localctx;
8094 }
8095
8096 public static class ConversionFunctionContext extends ParserRuleContext {
8097 public CastFunctionContext castFunction() {
8098 return getRuleContext(CastFunctionContext.class,0);
8099 }
8100 public ConvertFunctionContext convertFunction() {
8101 return getRuleContext(ConvertFunctionContext.class,0);
8102 }
8103 public ConversionFunctionContext(ParserRuleContext parent, int invokingState) {
8104 super(parent, invokingState);
8105 }
8106 @Override public int getRuleIndex() { return RULE_conversionFunction; }
8107 @Override
8108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConversionFunction(this);
8110 else return visitor.visitChildren(this);
8111 }
8112 }
8113
8114 public final ConversionFunctionContext conversionFunction() throws RecognitionException {
8115 ConversionFunctionContext _localctx = new ConversionFunctionContext(_ctx, getState());
8116 enterRule(_localctx, 132, RULE_conversionFunction);
8117 try {
8118 setState(1641);
8119 _errHandler.sync(this);
8120 switch (_input.LA(1)) {
8121 case CAST:
8122 case TRY_CAST:
8123 enterOuterAlt(_localctx, 1);
8124 {
8125 setState(1639);
8126 castFunction();
8127 }
8128 break;
8129 case CONVERT:
8130 case TRY_CONVERT:
8131 enterOuterAlt(_localctx, 2);
8132 {
8133 setState(1640);
8134 convertFunction();
8135 }
8136 break;
8137 default:
8138 throw new NoViableAltException(this);
8139 }
8140 }
8141 catch (RecognitionException re) {
8142 _localctx.exception = re;
8143 _errHandler.reportError(this, re);
8144 _errHandler.recover(this, re);
8145 }
8146 finally {
8147 exitRule();
8148 }
8149 return _localctx;
8150 }
8151
8152 public static class CastFunctionContext extends ParserRuleContext {
8153 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8154 public ExprContext expr() {
8155 return getRuleContext(ExprContext.class,0);
8156 }
8157 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
8158 public DataTypeContext dataType() {
8159 return getRuleContext(DataTypeContext.class,0);
8160 }
8161 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8162 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
8163 public TerminalNode TRY_CAST() { return getToken(SQLServerStatementParser.TRY_CAST, 0); }
8164 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
8165 super(parent, invokingState);
8166 }
8167 @Override public int getRuleIndex() { return RULE_castFunction; }
8168 @Override
8169 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8170 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastFunction(this);
8171 else return visitor.visitChildren(this);
8172 }
8173 }
8174
8175 public final CastFunctionContext castFunction() throws RecognitionException {
8176 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
8177 enterRule(_localctx, 134, RULE_castFunction);
8178 int _la;
8179 try {
8180 enterOuterAlt(_localctx, 1);
8181 {
8182 setState(1643);
8183 _la = _input.LA(1);
8184 if ( !(_la==CAST || _la==TRY_CAST) ) {
8185 _errHandler.recoverInline(this);
8186 }
8187 else {
8188 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8189 _errHandler.reportMatch(this);
8190 consume();
8191 }
8192 setState(1644);
8193 match(LP_);
8194 setState(1645);
8195 expr(0);
8196 setState(1646);
8197 match(AS);
8198 setState(1647);
8199 dataType();
8200 setState(1648);
8201 match(RP_);
8202 }
8203 }
8204 catch (RecognitionException re) {
8205 _localctx.exception = re;
8206 _errHandler.reportError(this, re);
8207 _errHandler.recover(this, re);
8208 }
8209 finally {
8210 exitRule();
8211 }
8212 return _localctx;
8213 }
8214
8215 public static class ConvertFunctionContext extends ParserRuleContext {
8216 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8217 public DataTypeContext dataType() {
8218 return getRuleContext(DataTypeContext.class,0);
8219 }
8220 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8221 public TerminalNode COMMA_(int i) {
8222 return getToken(SQLServerStatementParser.COMMA_, i);
8223 }
8224 public ExprContext expr() {
8225 return getRuleContext(ExprContext.class,0);
8226 }
8227 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8228 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
8229 public TerminalNode TRY_CONVERT() { return getToken(SQLServerStatementParser.TRY_CONVERT, 0); }
8230 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
8231 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
8232 super(parent, invokingState);
8233 }
8234 @Override public int getRuleIndex() { return RULE_convertFunction; }
8235 @Override
8236 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8237 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
8238 else return visitor.visitChildren(this);
8239 }
8240 }
8241
8242 public final ConvertFunctionContext convertFunction() throws RecognitionException {
8243 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
8244 enterRule(_localctx, 136, RULE_convertFunction);
8245 int _la;
8246 try {
8247 enterOuterAlt(_localctx, 1);
8248 {
8249 setState(1650);
8250 _la = _input.LA(1);
8251 if ( !(_la==CONVERT || _la==TRY_CONVERT) ) {
8252 _errHandler.recoverInline(this);
8253 }
8254 else {
8255 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8256 _errHandler.reportMatch(this);
8257 consume();
8258 }
8259 setState(1651);
8260 match(LP_);
8261 setState(1652);
8262 dataType();
8263 setState(1653);
8264 match(COMMA_);
8265 setState(1654);
8266 expr(0);
8267 setState(1657);
8268 _errHandler.sync(this);
8269 _la = _input.LA(1);
8270 if (_la==COMMA_) {
8271 {
8272 setState(1655);
8273 match(COMMA_);
8274 setState(1656);
8275 match(NUMBER_);
8276 }
8277 }
8278
8279 setState(1659);
8280 match(RP_);
8281 }
8282 }
8283 catch (RecognitionException re) {
8284 _localctx.exception = re;
8285 _errHandler.reportError(this, re);
8286 _errHandler.recover(this, re);
8287 }
8288 finally {
8289 exitRule();
8290 }
8291 return _localctx;
8292 }
8293
8294 public static class JsonFunctionContext extends ParserRuleContext {
8295 public JsonObjectFunctionContext jsonObjectFunction() {
8296 return getRuleContext(JsonObjectFunctionContext.class,0);
8297 }
8298 public JsonArrayFunctionContext jsonArrayFunction() {
8299 return getRuleContext(JsonArrayFunctionContext.class,0);
8300 }
8301 public JsonFunctionContext(ParserRuleContext parent, int invokingState) {
8302 super(parent, invokingState);
8303 }
8304 @Override public int getRuleIndex() { return RULE_jsonFunction; }
8305 @Override
8306 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8307 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonFunction(this);
8308 else return visitor.visitChildren(this);
8309 }
8310 }
8311
8312 public final JsonFunctionContext jsonFunction() throws RecognitionException {
8313 JsonFunctionContext _localctx = new JsonFunctionContext(_ctx, getState());
8314 enterRule(_localctx, 138, RULE_jsonFunction);
8315 try {
8316 setState(1663);
8317 _errHandler.sync(this);
8318 switch (_input.LA(1)) {
8319 case JSON_OBJECT:
8320 enterOuterAlt(_localctx, 1);
8321 {
8322 setState(1661);
8323 jsonObjectFunction();
8324 }
8325 break;
8326 case JSON_ARRAY:
8327 enterOuterAlt(_localctx, 2);
8328 {
8329 setState(1662);
8330 jsonArrayFunction();
8331 }
8332 break;
8333 default:
8334 throw new NoViableAltException(this);
8335 }
8336 }
8337 catch (RecognitionException re) {
8338 _localctx.exception = re;
8339 _errHandler.reportError(this, re);
8340 _errHandler.recover(this, re);
8341 }
8342 finally {
8343 exitRule();
8344 }
8345 return _localctx;
8346 }
8347
8348 public static class JsonObjectFunctionContext extends ParserRuleContext {
8349 public TerminalNode JSON_OBJECT() { return getToken(SQLServerStatementParser.JSON_OBJECT, 0); }
8350 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8351 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8352 public List<JsonKeyValueContext> jsonKeyValue() {
8353 return getRuleContexts(JsonKeyValueContext.class);
8354 }
8355 public JsonKeyValueContext jsonKeyValue(int i) {
8356 return getRuleContext(JsonKeyValueContext.class,i);
8357 }
8358 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8359 public TerminalNode COMMA_(int i) {
8360 return getToken(SQLServerStatementParser.COMMA_, i);
8361 }
8362 public JsonNullClauseContext jsonNullClause() {
8363 return getRuleContext(JsonNullClauseContext.class,0);
8364 }
8365 public JsonObjectFunctionContext(ParserRuleContext parent, int invokingState) {
8366 super(parent, invokingState);
8367 }
8368 @Override public int getRuleIndex() { return RULE_jsonObjectFunction; }
8369 @Override
8370 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8371 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonObjectFunction(this);
8372 else return visitor.visitChildren(this);
8373 }
8374 }
8375
8376 public final JsonObjectFunctionContext jsonObjectFunction() throws RecognitionException {
8377 JsonObjectFunctionContext _localctx = new JsonObjectFunctionContext(_ctx, getState());
8378 enterRule(_localctx, 140, RULE_jsonObjectFunction);
8379 int _la;
8380 try {
8381 enterOuterAlt(_localctx, 1);
8382 {
8383 setState(1665);
8384 match(JSON_OBJECT);
8385 setState(1666);
8386 match(LP_);
8387 setState(1678);
8388 _errHandler.sync(this);
8389 _la = _input.LA(1);
8390 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << LBT_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (RIGHT - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NOT - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (CURRENT - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (OPENDATASOURCE - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (USER - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (AUTO - 267)) | (1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 332)) & ~0x3f) == 0 && ((1L << (_la - 332)) & ((1L << (CONTROL - 332)) | (1L << (CONCAT - 332)) | (1L << (TAKE - 332)) | (1L << (OWNERSHIP - 332)) | (1L << (DEFINITION - 332)) | (1L << (APPLICATION - 332)) | (1L << (ASSEMBLY - 332)) | (1L << (SYMMETRIC - 332)) | (1L << (ASYMMETRIC - 332)) | (1L << (SERVER - 332)) | (1L << (RECEIVE - 332)) | (1L << (CHANGE - 332)) | (1L << (TRACE - 332)) | (1L << (TRACKING - 332)) | (1L << (RESOURCES - 332)) | (1L << (SETTINGS - 332)) | (1L << (STATE - 332)) | (1L << (AVAILABILITY - 332)) | (1L << (CREDENTIAL - 332)) | (1L << (ENDPOINT - 332)) | (1L << (EVENT - 332)) | (1L << (NOTIFICATION - 332)) | (1L << (LINKED - 332)) | (1L << (AUDIT - 332)) | (1L << (DDL - 332)) | (1L << (XML - 332)) | (1L << (IMPERSONATE - 332)) | (1L << (SECURABLES - 332)) | (1L << (AUTHENTICATE - 332)) | (1L << (EXTERNAL - 332)) | (1L << (ACCESS - 332)) | (1L << (ADMINISTER - 332)) | (1L << (BULK - 332)) | (1L << (OPERATIONS - 332)) | (1L << (UNSAFE - 332)) | (1L << (SHUTDOWN - 332)) | (1L << (SCOPED - 332)) | (1L << (CONFIGURATION - 332)) | (1L << (DATASPACE - 332)) | (1L << (SERVICE - 332)) | (1L << (CERTIFICATE - 332)) | (1L << (CONTRACT - 332)) | (1L << (ENCRYPTION - 332)) | (1L << (MASTER - 332)) | (1L << (DATA - 332)) | (1L << (SOURCE - 332)) | (1L << (FILE - 332)) | (1L << (FORMAT - 332)) | (1L << (LIBRARY - 332)) | (1L << (FULLTEXT - 332)) | (1L << (MASK - 332)) | (1L << (UNMASK - 332)) | (1L << (MESSAGE - 332)) | (1L << (REMOTE - 332)) | (1L << (BINDING - 332)) | (1L << (ROUTE - 332)) | (1L << (SECURITY - 332)) | (1L << (POLICY - 332)) | (1L << (AGGREGATE - 332)) | (1L << (QUEUE - 332)) | (1L << (RULE - 332)) | (1L << (SYNONYM - 332)) | (1L << (COLLECTION - 332)) | (1L << (SCRIPT - 332)))) != 0) || ((((_la - 396)) & ~0x3f) == 0 && ((1L << (_la - 396)) & ((1L << (KILL - 396)) | (1L << (BACKUP - 396)) | (1L << (LOG - 396)) | (1L << (SHOWPLAN - 396)) | (1L << (SUBSCRIBE - 396)) | (1L << (QUERY - 396)) | (1L << (NOTIFICATIONS - 396)) | (1L << (CHECKPOINT - 396)) | (1L << (SEQUENCE - 396)) | (1L << (ABORT_AFTER_WAIT - 396)) | (1L << (ALLOW_PAGE_LOCKS - 396)) | (1L << (ALLOW_ROW_LOCKS - 396)) | (1L << (ALL_SPARSE_COLUMNS - 396)) | (1L << (BUCKET_COUNT - 396)) | (1L << (COLUMNSTORE_ARCHIVE - 396)) | (1L << (COLUMN_ENCRYPTION_KEY - 396)) | (1L << (COLUMN_SET - 396)) | (1L << (COMPRESSION_DELAY - 396)) | (1L << (DATABASE_DEAULT - 396)) | (1L << (DATA_COMPRESSION - 396)) | (1L << (DATA_CONSISTENCY_CHECK - 396)) | (1L << (ENCRYPTION_TYPE - 396)) | (1L << (SYSTEM_TIME - 396)) | (1L << (SYSTEM_VERSIONING - 396)) | (1L << (TEXTIMAGE_ON - 396)) | (1L << (WAIT_AT_LOW_PRIORITY - 396)) | (1L << (STATISTICS_INCREMENTAL - 396)) | (1L << (STATISTICS_NORECOMPUTE - 396)) | (1L << (ROUND_ROBIN - 396)) | (1L << (SCHEMA_AND_DATA - 396)) | (1L << (SCHEMA_ONLY - 396)) | (1L << (SORT_IN_TEMPDB - 396)) | (1L << (IGNORE_DUP_KEY - 396)) | (1L << (IMPLICIT_TRANSACTIONS - 396)) | (1L << (MAX_DURATION - 396)) | (1L << (MEMORY_OPTIMIZED - 396)) | (1L << (MIGRATION_STATE - 396)) | (1L << (PAD_INDEX - 396)) | (1L << (REMOTE_DATA_ARCHIVE - 396)) | (1L << (FILESTREAM_ON - 396)) | (1L << (FILETABLE_COLLATE_FILENAME - 396)) | (1L << (FILETABLE_DIRECTORY - 396)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILTER_PREDICATE - 396)) | (1L << (HISTORY_RETENTION_PERIOD - 396)) | (1L << (HISTORY_TABLE - 396)) | (1L << (LOCK_ESCALATION - 396)) | (1L << (DROP_EXISTING - 396)) | (1L << (ROW_NUMBER - 396)) | (1L << (FIRST - 396)) | (1L << (DATETIME2 - 396)))) != 0) || ((((_la - 466)) & ~0x3f) == 0 && ((1L << (_la - 466)) & ((1L << (OUTPUT - 466)) | (1L << (INSERTED - 466)) | (1L << (DELETED - 466)) | (1L << (FILENAME - 466)) | (1L << (SIZE - 466)) | (1L << (MAXSIZE - 466)) | (1L << (FILEGROWTH - 466)) | (1L << (UNLIMITED - 466)) | (1L << (KB - 466)) | (1L << (MB - 466)) | (1L << (GB - 466)) | (1L << (TB - 466)) | (1L << (CONTAINS - 466)) | (1L << (MEMORY_OPTIMIZED_DATA - 466)) | (1L << (FILEGROUP - 466)) | (1L << (NON_TRANSACTED_ACCESS - 466)) | (1L << (DB_CHAINING - 466)) | (1L << (TRUSTWORTHY - 466)) | (1L << (FORWARD_ONLY - 466)) | (1L << (KEYSET - 466)) | (1L << (FAST_FORWARD - 466)) | (1L << (SCROLL_LOCKS - 466)) | (1L << (OPTIMISTIC - 466)) | (1L << (TYPE_WARNING - 466)) | (1L << (SCHEMABINDING - 466)))) != 0) || ((((_la - 530)) & ~0x3f) == 0 && ((1L << (_la - 530)) & ((1L << (CALLER - 530)) | (1L << (INPUT - 530)) | (1L << (OWNER - 530)) | (1L << (SNAPSHOT - 530)) | (1L << (REPEATABLE - 530)) | (1L << (SERIALIZABLE - 530)) | (1L << (NATIVE_COMPILATION - 530)) | (1L << (VIEW_METADATA - 530)) | (1L << (INSTEAD - 530)) | (1L << (APPEND - 530)) | (1L << (INCREMENT - 530)) | (1L << (CACHE - 530)) | (1L << (MINVALUE - 530)) | (1L << (MAXVALUE - 530)) | (1L << (RESTART - 530)) | (1L << (LOB_COMPACTION - 530)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 530)) | (1L << (REORGANIZE - 530)) | (1L << (RESUME - 530)) | (1L << (PAUSE - 530)) | (1L << (ABORT - 530)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 530)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 530)) | (1L << (IMMEDIATE - 530)) | (1L << (NO_WAIT - 530)) | (1L << (TARGET_RECOVERY_TIME - 530)) | (1L << (SECONDS - 530)) | (1L << (HONOR_BROKER_PRIORITY - 530)) | (1L << (ERROR_BROKER_CONVERSATIONS - 530)) | (1L << (NEW_BROKER - 530)) | (1L << (DISABLE_BROKER - 530)) | (1L << (ENABLE_BROKER - 530)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 530)) | (1L << (READ_COMMITTED_SNAPSHOT - 530)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 530)) | (1L << (RECURSIVE_TRIGGERS - 530)) | (1L << (QUOTED_IDENTIFIER - 530)) | (1L << (NUMERIC_ROUNDABORT - 530)) | (1L << (CONCAT_NULL_YIELDS_NULL - 530)) | (1L << (COMPATIBILITY_LEVEL - 530)) | (1L << (ARITHABORT - 530)) | (1L << (ANSI_WARNINGS - 530)) | (1L << (ANSI_PADDING - 530)) | (1L << (ANSI_NULLS - 530)))) != 0) || ((((_la - 594)) & ~0x3f) == 0 && ((1L << (_la - 594)) & ((1L << (ANSI_NULL_DEFAULT - 594)) | (1L << (PAGE_VERIFY - 594)) | (1L << (CHECKSUM - 594)) | (1L << (TORN_PAGE_DETECTION - 594)) | (1L << (BULK_LOGGED - 594)) | (1L << (RECOVERY - 594)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 594)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 594)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 594)) | (1L << (EXECUTION_COUNT - 594)) | (1L << (QUERY_CAPTURE_POLICY - 594)) | (1L << (WAIT_STATS_CAPTURE_MODE - 594)) | (1L << (MAX_PLANS_PER_QUERY - 594)) | (1L << (QUERY_CAPTURE_MODE - 594)) | (1L << (SIZE_BASED_CLEANUP_MODE - 594)) | (1L << (INTERVAL_LENGTH_MINUTES - 594)) | (1L << (MAX_STORAGE_SIZE_MB - 594)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 594)) | (1L << (CLEANUP_POLICY - 594)) | (1L << (CUSTOM - 594)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 594)) | (1L << (OPERATION_MODE - 594)) | (1L << (QUERY_STORE - 594)) | (1L << (CURSOR_DEFAULT - 594)) | (1L << (GLOBAL - 594)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 594)) | (1L << (HOURS - 594)) | (1L << (CHANGE_RETENTION - 594)) | (1L << (AUTO_CLEANUP - 594)) | (1L << (CHANGE_TRACKING - 594)) | (1L << (AUTOMATIC_TUNING - 594)) | (1L << (FORCE_LAST_GOOD_PLAN - 594)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 594)) | (1L << (AUTO_UPDATE_STATISTICS - 594)) | (1L << (AUTO_SHRINK - 594)) | (1L << (AUTO_CREATE_STATISTICS - 594)) | (1L << (INCREMENTAL - 594)) | (1L << (AUTO_CLOSE - 594)) | (1L << (DATA_RETENTION - 594)) | (1L << (TEMPORAL_HISTORY_RETENTION - 594)) | (1L << (EDITION - 594)) | (1L << (MIXED_PAGE_ALLOCATION - 594)) | (1L << (DISABLED - 594)) | (1L << (ALLOWED - 594)) | (1L << (HADR - 594)) | (1L << (MULTI_USER - 594)) | (1L << (RESTRICTED_USER - 594)) | (1L << (SINGLE_USER - 594)) | (1L << (OFFLINE - 594)) | (1L << (EMERGENCY - 594)) | (1L << (SUSPEND - 594)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 594)) | (1L << (ELASTIC_POOL - 594)) | (1L << (SERVICE_OBJECTIVE - 594)) | (1L << (DATABASE_NAME - 594)) | (1L << (ALLOW_CONNECTIONS - 594)) | (1L << (GEO - 594)) | (1L << (NAMED - 594)) | (1L << (DATEFIRST - 594)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 594)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 594)) | (1L << (SECONDARY - 594)) | (1L << (FAILOVER - 594)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 594)))) != 0) || ((((_la - 658)) & ~0x3f) == 0 && ((1L << (_la - 658)) & ((1L << (DEFAULT_LANGUAGE - 658)) | (1L << (INLINE - 658)) | (1L << (NESTED_TRIGGERS - 658)) | (1L << (TRANSFORM_NOISE_WORDS - 658)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 658)) | (1L << (PERSISTENT_LOG_BUFFER - 658)) | (1L << (DIRECTORY_NAME - 658)) | (1L << (DATEFORMAT - 658)) | (1L << (DELAYED_DURABILITY - 658)) | (1L << (AUTHORIZATION - 658)) | (1L << (TRANSFER - 658)) | (1L << (PROVIDER - 658)) | (1L << (SID - 658)) | (1L << (SEARCH - 658)) | (1L << (MEMBER - 658)) | (1L << (JSON - 658)) | (1L << (OPENJSON - 658)) | (1L << (OPENROWSET - 658)) | (1L << (TRY_CAST - 658)) | (1L << (TRY_CONVERT - 658)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (IDENTIFIER_ - 722)) | (1L << (DELIMITED_IDENTIFIER_ - 722)) | (1L << (STRING_ - 722)) | (1L << (NUMBER_ - 722)) | (1L << (HEX_DIGIT_ - 722)) | (1L << (BIT_NUM_ - 722)) | (1L << (NCHAR_TEXT - 722)))) != 0)) {
8391 {
8392 setState(1667);
8393 jsonKeyValue();
8394 setState(1672);
8395 _errHandler.sync(this);
8396 _la = _input.LA(1);
8397 while (_la==COMMA_) {
8398 {
8399 {
8400 setState(1668);
8401 match(COMMA_);
8402 setState(1669);
8403 jsonKeyValue();
8404 }
8405 }
8406 setState(1674);
8407 _errHandler.sync(this);
8408 _la = _input.LA(1);
8409 }
8410 setState(1676);
8411 _errHandler.sync(this);
8412 _la = _input.LA(1);
8413 if (_la==NULL || _la==ABSENT) {
8414 {
8415 setState(1675);
8416 jsonNullClause();
8417 }
8418 }
8419
8420 }
8421 }
8422
8423 setState(1680);
8424 match(RP_);
8425 }
8426 }
8427 catch (RecognitionException re) {
8428 _localctx.exception = re;
8429 _errHandler.reportError(this, re);
8430 _errHandler.recover(this, re);
8431 }
8432 finally {
8433 exitRule();
8434 }
8435 return _localctx;
8436 }
8437
8438 public static class JsonArrayFunctionContext extends ParserRuleContext {
8439 public TerminalNode JSON_ARRAY() { return getToken(SQLServerStatementParser.JSON_ARRAY, 0); }
8440 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8441 public List<ExprContext> expr() {
8442 return getRuleContexts(ExprContext.class);
8443 }
8444 public ExprContext expr(int i) {
8445 return getRuleContext(ExprContext.class,i);
8446 }
8447 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8448 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8449 public TerminalNode COMMA_(int i) {
8450 return getToken(SQLServerStatementParser.COMMA_, i);
8451 }
8452 public JsonNullClauseContext jsonNullClause() {
8453 return getRuleContext(JsonNullClauseContext.class,0);
8454 }
8455 public JsonArrayFunctionContext(ParserRuleContext parent, int invokingState) {
8456 super(parent, invokingState);
8457 }
8458 @Override public int getRuleIndex() { return RULE_jsonArrayFunction; }
8459 @Override
8460 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8461 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonArrayFunction(this);
8462 else return visitor.visitChildren(this);
8463 }
8464 }
8465
8466 public final JsonArrayFunctionContext jsonArrayFunction() throws RecognitionException {
8467 JsonArrayFunctionContext _localctx = new JsonArrayFunctionContext(_ctx, getState());
8468 enterRule(_localctx, 142, RULE_jsonArrayFunction);
8469 int _la;
8470 try {
8471 enterOuterAlt(_localctx, 1);
8472 {
8473 setState(1682);
8474 match(JSON_ARRAY);
8475 setState(1683);
8476 match(LP_);
8477 setState(1684);
8478 expr(0);
8479 setState(1689);
8480 _errHandler.sync(this);
8481 _la = _input.LA(1);
8482 while (_la==COMMA_) {
8483 {
8484 {
8485 setState(1685);
8486 match(COMMA_);
8487 setState(1686);
8488 expr(0);
8489 }
8490 }
8491 setState(1691);
8492 _errHandler.sync(this);
8493 _la = _input.LA(1);
8494 }
8495 setState(1693);
8496 _errHandler.sync(this);
8497 _la = _input.LA(1);
8498 if (_la==NULL || _la==ABSENT) {
8499 {
8500 setState(1692);
8501 jsonNullClause();
8502 }
8503 }
8504
8505 setState(1695);
8506 match(RP_);
8507 }
8508 }
8509 catch (RecognitionException re) {
8510 _localctx.exception = re;
8511 _errHandler.reportError(this, re);
8512 _errHandler.recover(this, re);
8513 }
8514 finally {
8515 exitRule();
8516 }
8517 return _localctx;
8518 }
8519
8520 public static class JsonKeyValueContext extends ParserRuleContext {
8521 public List<ExprContext> expr() {
8522 return getRuleContexts(ExprContext.class);
8523 }
8524 public ExprContext expr(int i) {
8525 return getRuleContext(ExprContext.class,i);
8526 }
8527 public TerminalNode COLON_() { return getToken(SQLServerStatementParser.COLON_, 0); }
8528 public JsonKeyValueContext(ParserRuleContext parent, int invokingState) {
8529 super(parent, invokingState);
8530 }
8531 @Override public int getRuleIndex() { return RULE_jsonKeyValue; }
8532 @Override
8533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8534 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonKeyValue(this);
8535 else return visitor.visitChildren(this);
8536 }
8537 }
8538
8539 public final JsonKeyValueContext jsonKeyValue() throws RecognitionException {
8540 JsonKeyValueContext _localctx = new JsonKeyValueContext(_ctx, getState());
8541 enterRule(_localctx, 144, RULE_jsonKeyValue);
8542 try {
8543 enterOuterAlt(_localctx, 1);
8544 {
8545 setState(1697);
8546 expr(0);
8547 setState(1698);
8548 match(COLON_);
8549 setState(1699);
8550 expr(0);
8551 }
8552 }
8553 catch (RecognitionException re) {
8554 _localctx.exception = re;
8555 _errHandler.reportError(this, re);
8556 _errHandler.recover(this, re);
8557 }
8558 finally {
8559 exitRule();
8560 }
8561 return _localctx;
8562 }
8563
8564 public static class JsonNullClauseContext extends ParserRuleContext {
8565 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
8566 public TerminalNode NULL(int i) {
8567 return getToken(SQLServerStatementParser.NULL, i);
8568 }
8569 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
8570 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
8571 public JsonNullClauseContext(ParserRuleContext parent, int invokingState) {
8572 super(parent, invokingState);
8573 }
8574 @Override public int getRuleIndex() { return RULE_jsonNullClause; }
8575 @Override
8576 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8577 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonNullClause(this);
8578 else return visitor.visitChildren(this);
8579 }
8580 }
8581
8582 public final JsonNullClauseContext jsonNullClause() throws RecognitionException {
8583 JsonNullClauseContext _localctx = new JsonNullClauseContext(_ctx, getState());
8584 enterRule(_localctx, 146, RULE_jsonNullClause);
8585 try {
8586 setState(1707);
8587 _errHandler.sync(this);
8588 switch (_input.LA(1)) {
8589 case NULL:
8590 enterOuterAlt(_localctx, 1);
8591 {
8592 setState(1701);
8593 match(NULL);
8594 setState(1702);
8595 match(ON);
8596 setState(1703);
8597 match(NULL);
8598 }
8599 break;
8600 case ABSENT:
8601 enterOuterAlt(_localctx, 2);
8602 {
8603 setState(1704);
8604 match(ABSENT);
8605 setState(1705);
8606 match(ON);
8607 setState(1706);
8608 match(NULL);
8609 }
8610 break;
8611 default:
8612 throw new NoViableAltException(this);
8613 }
8614 }
8615 catch (RecognitionException re) {
8616 _localctx.exception = re;
8617 _errHandler.reportError(this, re);
8618 _errHandler.recover(this, re);
8619 }
8620 finally {
8621 exitRule();
8622 }
8623 return _localctx;
8624 }
8625
8626 public static class CharFunctionContext extends ParserRuleContext {
8627 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
8628 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8629 public List<ExprContext> expr() {
8630 return getRuleContexts(ExprContext.class);
8631 }
8632 public ExprContext expr(int i) {
8633 return getRuleContext(ExprContext.class,i);
8634 }
8635 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8636 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8637 public TerminalNode COMMA_(int i) {
8638 return getToken(SQLServerStatementParser.COMMA_, i);
8639 }
8640 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
8641 public IgnoredIdentifierContext ignoredIdentifier() {
8642 return getRuleContext(IgnoredIdentifierContext.class,0);
8643 }
8644 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
8645 super(parent, invokingState);
8646 }
8647 @Override public int getRuleIndex() { return RULE_charFunction; }
8648 @Override
8649 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8650 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCharFunction(this);
8651 else return visitor.visitChildren(this);
8652 }
8653 }
8654
8655 public final CharFunctionContext charFunction() throws RecognitionException {
8656 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
8657 enterRule(_localctx, 148, RULE_charFunction);
8658 int _la;
8659 try {
8660 enterOuterAlt(_localctx, 1);
8661 {
8662 setState(1709);
8663 match(CHAR);
8664 setState(1710);
8665 match(LP_);
8666 setState(1711);
8667 expr(0);
8668 setState(1716);
8669 _errHandler.sync(this);
8670 _la = _input.LA(1);
8671 while (_la==COMMA_) {
8672 {
8673 {
8674 setState(1712);
8675 match(COMMA_);
8676 setState(1713);
8677 expr(0);
8678 }
8679 }
8680 setState(1718);
8681 _errHandler.sync(this);
8682 _la = _input.LA(1);
8683 }
8684 setState(1721);
8685 _errHandler.sync(this);
8686 _la = _input.LA(1);
8687 if (_la==USING) {
8688 {
8689 setState(1719);
8690 match(USING);
8691 setState(1720);
8692 ignoredIdentifier();
8693 }
8694 }
8695
8696 setState(1723);
8697 match(RP_);
8698 }
8699 }
8700 catch (RecognitionException re) {
8701 _localctx.exception = re;
8702 _errHandler.reportError(this, re);
8703 _errHandler.recover(this, re);
8704 }
8705 finally {
8706 exitRule();
8707 }
8708 return _localctx;
8709 }
8710
8711 public static class OpenJsonFunctionContext extends ParserRuleContext {
8712 public TerminalNode OPENJSON() { return getToken(SQLServerStatementParser.OPENJSON, 0); }
8713 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8714 public List<ExprContext> expr() {
8715 return getRuleContexts(ExprContext.class);
8716 }
8717 public ExprContext expr(int i) {
8718 return getRuleContext(ExprContext.class,i);
8719 }
8720 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8721 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
8722 public OpenJsonWithclauseContext openJsonWithclause() {
8723 return getRuleContext(OpenJsonWithclauseContext.class,0);
8724 }
8725 public OpenJsonFunctionContext(ParserRuleContext parent, int invokingState) {
8726 super(parent, invokingState);
8727 }
8728 @Override public int getRuleIndex() { return RULE_openJsonFunction; }
8729 @Override
8730 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8731 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonFunction(this);
8732 else return visitor.visitChildren(this);
8733 }
8734 }
8735
8736 public final OpenJsonFunctionContext openJsonFunction() throws RecognitionException {
8737 OpenJsonFunctionContext _localctx = new OpenJsonFunctionContext(_ctx, getState());
8738 enterRule(_localctx, 150, RULE_openJsonFunction);
8739 int _la;
8740 try {
8741 enterOuterAlt(_localctx, 1);
8742 {
8743 setState(1725);
8744 match(OPENJSON);
8745 setState(1726);
8746 match(LP_);
8747 setState(1727);
8748 expr(0);
8749 setState(1730);
8750 _errHandler.sync(this);
8751 _la = _input.LA(1);
8752 if (_la==COMMA_) {
8753 {
8754 setState(1728);
8755 match(COMMA_);
8756 setState(1729);
8757 expr(0);
8758 }
8759 }
8760
8761 setState(1732);
8762 match(RP_);
8763 setState(1734);
8764 _errHandler.sync(this);
8765 switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) {
8766 case 1:
8767 {
8768 setState(1733);
8769 openJsonWithclause();
8770 }
8771 break;
8772 }
8773 }
8774 }
8775 catch (RecognitionException re) {
8776 _localctx.exception = re;
8777 _errHandler.reportError(this, re);
8778 _errHandler.recover(this, re);
8779 }
8780 finally {
8781 exitRule();
8782 }
8783 return _localctx;
8784 }
8785
8786 public static class OpenJsonWithclauseContext extends ParserRuleContext {
8787 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
8788 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8789 public List<JsonColumnDefinitionContext> jsonColumnDefinition() {
8790 return getRuleContexts(JsonColumnDefinitionContext.class);
8791 }
8792 public JsonColumnDefinitionContext jsonColumnDefinition(int i) {
8793 return getRuleContext(JsonColumnDefinitionContext.class,i);
8794 }
8795 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8796 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8797 public TerminalNode COMMA_(int i) {
8798 return getToken(SQLServerStatementParser.COMMA_, i);
8799 }
8800 public OpenJsonWithclauseContext(ParserRuleContext parent, int invokingState) {
8801 super(parent, invokingState);
8802 }
8803 @Override public int getRuleIndex() { return RULE_openJsonWithclause; }
8804 @Override
8805 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8806 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonWithclause(this);
8807 else return visitor.visitChildren(this);
8808 }
8809 }
8810
8811 public final OpenJsonWithclauseContext openJsonWithclause() throws RecognitionException {
8812 OpenJsonWithclauseContext _localctx = new OpenJsonWithclauseContext(_ctx, getState());
8813 enterRule(_localctx, 152, RULE_openJsonWithclause);
8814 int _la;
8815 try {
8816 enterOuterAlt(_localctx, 1);
8817 {
8818 setState(1736);
8819 match(WITH);
8820 setState(1737);
8821 match(LP_);
8822 setState(1738);
8823 jsonColumnDefinition();
8824 setState(1743);
8825 _errHandler.sync(this);
8826 _la = _input.LA(1);
8827 while (_la==COMMA_) {
8828 {
8829 {
8830 setState(1739);
8831 match(COMMA_);
8832 setState(1740);
8833 jsonColumnDefinition();
8834 }
8835 }
8836 setState(1745);
8837 _errHandler.sync(this);
8838 _la = _input.LA(1);
8839 }
8840 setState(1746);
8841 match(RP_);
8842 }
8843 }
8844 catch (RecognitionException re) {
8845 _localctx.exception = re;
8846 _errHandler.reportError(this, re);
8847 _errHandler.recover(this, re);
8848 }
8849 finally {
8850 exitRule();
8851 }
8852 return _localctx;
8853 }
8854
8855 public static class JsonColumnDefinitionContext extends ParserRuleContext {
8856 public ColumnNameContext columnName() {
8857 return getRuleContext(ColumnNameContext.class,0);
8858 }
8859 public DataTypeContext dataType() {
8860 return getRuleContext(DataTypeContext.class,0);
8861 }
8862 public ExprContext expr() {
8863 return getRuleContext(ExprContext.class,0);
8864 }
8865 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
8866 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
8867 public JsonColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
8868 super(parent, invokingState);
8869 }
8870 @Override public int getRuleIndex() { return RULE_jsonColumnDefinition; }
8871 @Override
8872 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8873 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonColumnDefinition(this);
8874 else return visitor.visitChildren(this);
8875 }
8876 }
8877
8878 public final JsonColumnDefinitionContext jsonColumnDefinition() throws RecognitionException {
8879 JsonColumnDefinitionContext _localctx = new JsonColumnDefinitionContext(_ctx, getState());
8880 enterRule(_localctx, 154, RULE_jsonColumnDefinition);
8881 int _la;
8882 try {
8883 enterOuterAlt(_localctx, 1);
8884 {
8885 setState(1748);
8886 columnName();
8887 setState(1749);
8888 dataType();
8889 setState(1751);
8890 _errHandler.sync(this);
8891 _la = _input.LA(1);
8892 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << LBT_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (RIGHT - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NOT - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (CURRENT - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (OPENDATASOURCE - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (USER - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (AUTO - 267)) | (1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 332)) & ~0x3f) == 0 && ((1L << (_la - 332)) & ((1L << (CONTROL - 332)) | (1L << (CONCAT - 332)) | (1L << (TAKE - 332)) | (1L << (OWNERSHIP - 332)) | (1L << (DEFINITION - 332)) | (1L << (APPLICATION - 332)) | (1L << (ASSEMBLY - 332)) | (1L << (SYMMETRIC - 332)) | (1L << (ASYMMETRIC - 332)) | (1L << (SERVER - 332)) | (1L << (RECEIVE - 332)) | (1L << (CHANGE - 332)) | (1L << (TRACE - 332)) | (1L << (TRACKING - 332)) | (1L << (RESOURCES - 332)) | (1L << (SETTINGS - 332)) | (1L << (STATE - 332)) | (1L << (AVAILABILITY - 332)) | (1L << (CREDENTIAL - 332)) | (1L << (ENDPOINT - 332)) | (1L << (EVENT - 332)) | (1L << (NOTIFICATION - 332)) | (1L << (LINKED - 332)) | (1L << (AUDIT - 332)) | (1L << (DDL - 332)) | (1L << (XML - 332)) | (1L << (IMPERSONATE - 332)) | (1L << (SECURABLES - 332)) | (1L << (AUTHENTICATE - 332)) | (1L << (EXTERNAL - 332)) | (1L << (ACCESS - 332)) | (1L << (ADMINISTER - 332)) | (1L << (BULK - 332)) | (1L << (OPERATIONS - 332)) | (1L << (UNSAFE - 332)) | (1L << (SHUTDOWN - 332)) | (1L << (SCOPED - 332)) | (1L << (CONFIGURATION - 332)) | (1L << (DATASPACE - 332)) | (1L << (SERVICE - 332)) | (1L << (CERTIFICATE - 332)) | (1L << (CONTRACT - 332)) | (1L << (ENCRYPTION - 332)) | (1L << (MASTER - 332)) | (1L << (DATA - 332)) | (1L << (SOURCE - 332)) | (1L << (FILE - 332)) | (1L << (FORMAT - 332)) | (1L << (LIBRARY - 332)) | (1L << (FULLTEXT - 332)) | (1L << (MASK - 332)) | (1L << (UNMASK - 332)) | (1L << (MESSAGE - 332)) | (1L << (REMOTE - 332)) | (1L << (BINDING - 332)) | (1L << (ROUTE - 332)) | (1L << (SECURITY - 332)) | (1L << (POLICY - 332)) | (1L << (AGGREGATE - 332)) | (1L << (QUEUE - 332)) | (1L << (RULE - 332)) | (1L << (SYNONYM - 332)) | (1L << (COLLECTION - 332)) | (1L << (SCRIPT - 332)))) != 0) || ((((_la - 396)) & ~0x3f) == 0 && ((1L << (_la - 396)) & ((1L << (KILL - 396)) | (1L << (BACKUP - 396)) | (1L << (LOG - 396)) | (1L << (SHOWPLAN - 396)) | (1L << (SUBSCRIBE - 396)) | (1L << (QUERY - 396)) | (1L << (NOTIFICATIONS - 396)) | (1L << (CHECKPOINT - 396)) | (1L << (SEQUENCE - 396)) | (1L << (ABORT_AFTER_WAIT - 396)) | (1L << (ALLOW_PAGE_LOCKS - 396)) | (1L << (ALLOW_ROW_LOCKS - 396)) | (1L << (ALL_SPARSE_COLUMNS - 396)) | (1L << (BUCKET_COUNT - 396)) | (1L << (COLUMNSTORE_ARCHIVE - 396)) | (1L << (COLUMN_ENCRYPTION_KEY - 396)) | (1L << (COLUMN_SET - 396)) | (1L << (COMPRESSION_DELAY - 396)) | (1L << (DATABASE_DEAULT - 396)) | (1L << (DATA_COMPRESSION - 396)) | (1L << (DATA_CONSISTENCY_CHECK - 396)) | (1L << (ENCRYPTION_TYPE - 396)) | (1L << (SYSTEM_TIME - 396)) | (1L << (SYSTEM_VERSIONING - 396)) | (1L << (TEXTIMAGE_ON - 396)) | (1L << (WAIT_AT_LOW_PRIORITY - 396)) | (1L << (STATISTICS_INCREMENTAL - 396)) | (1L << (STATISTICS_NORECOMPUTE - 396)) | (1L << (ROUND_ROBIN - 396)) | (1L << (SCHEMA_AND_DATA - 396)) | (1L << (SCHEMA_ONLY - 396)) | (1L << (SORT_IN_TEMPDB - 396)) | (1L << (IGNORE_DUP_KEY - 396)) | (1L << (IMPLICIT_TRANSACTIONS - 396)) | (1L << (MAX_DURATION - 396)) | (1L << (MEMORY_OPTIMIZED - 396)) | (1L << (MIGRATION_STATE - 396)) | (1L << (PAD_INDEX - 396)) | (1L << (REMOTE_DATA_ARCHIVE - 396)) | (1L << (FILESTREAM_ON - 396)) | (1L << (FILETABLE_COLLATE_FILENAME - 396)) | (1L << (FILETABLE_DIRECTORY - 396)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILTER_PREDICATE - 396)) | (1L << (HISTORY_RETENTION_PERIOD - 396)) | (1L << (HISTORY_TABLE - 396)) | (1L << (LOCK_ESCALATION - 396)) | (1L << (DROP_EXISTING - 396)) | (1L << (ROW_NUMBER - 396)) | (1L << (FIRST - 396)) | (1L << (DATETIME2 - 396)))) != 0) || ((((_la - 466)) & ~0x3f) == 0 && ((1L << (_la - 466)) & ((1L << (OUTPUT - 466)) | (1L << (INSERTED - 466)) | (1L << (DELETED - 466)) | (1L << (FILENAME - 466)) | (1L << (SIZE - 466)) | (1L << (MAXSIZE - 466)) | (1L << (FILEGROWTH - 466)) | (1L << (UNLIMITED - 466)) | (1L << (KB - 466)) | (1L << (MB - 466)) | (1L << (GB - 466)) | (1L << (TB - 466)) | (1L << (CONTAINS - 466)) | (1L << (MEMORY_OPTIMIZED_DATA - 466)) | (1L << (FILEGROUP - 466)) | (1L << (NON_TRANSACTED_ACCESS - 466)) | (1L << (DB_CHAINING - 466)) | (1L << (TRUSTWORTHY - 466)) | (1L << (FORWARD_ONLY - 466)) | (1L << (KEYSET - 466)) | (1L << (FAST_FORWARD - 466)) | (1L << (SCROLL_LOCKS - 466)) | (1L << (OPTIMISTIC - 466)) | (1L << (TYPE_WARNING - 466)) | (1L << (SCHEMABINDING - 466)))) != 0) || ((((_la - 530)) & ~0x3f) == 0 && ((1L << (_la - 530)) & ((1L << (CALLER - 530)) | (1L << (INPUT - 530)) | (1L << (OWNER - 530)) | (1L << (SNAPSHOT - 530)) | (1L << (REPEATABLE - 530)) | (1L << (SERIALIZABLE - 530)) | (1L << (NATIVE_COMPILATION - 530)) | (1L << (VIEW_METADATA - 530)) | (1L << (INSTEAD - 530)) | (1L << (APPEND - 530)) | (1L << (INCREMENT - 530)) | (1L << (CACHE - 530)) | (1L << (MINVALUE - 530)) | (1L << (MAXVALUE - 530)) | (1L << (RESTART - 530)) | (1L << (LOB_COMPACTION - 530)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 530)) | (1L << (REORGANIZE - 530)) | (1L << (RESUME - 530)) | (1L << (PAUSE - 530)) | (1L << (ABORT - 530)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 530)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 530)) | (1L << (IMMEDIATE - 530)) | (1L << (NO_WAIT - 530)) | (1L << (TARGET_RECOVERY_TIME - 530)) | (1L << (SECONDS - 530)) | (1L << (HONOR_BROKER_PRIORITY - 530)) | (1L << (ERROR_BROKER_CONVERSATIONS - 530)) | (1L << (NEW_BROKER - 530)) | (1L << (DISABLE_BROKER - 530)) | (1L << (ENABLE_BROKER - 530)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 530)) | (1L << (READ_COMMITTED_SNAPSHOT - 530)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 530)) | (1L << (RECURSIVE_TRIGGERS - 530)) | (1L << (QUOTED_IDENTIFIER - 530)) | (1L << (NUMERIC_ROUNDABORT - 530)) | (1L << (CONCAT_NULL_YIELDS_NULL - 530)) | (1L << (COMPATIBILITY_LEVEL - 530)) | (1L << (ARITHABORT - 530)) | (1L << (ANSI_WARNINGS - 530)) | (1L << (ANSI_PADDING - 530)) | (1L << (ANSI_NULLS - 530)))) != 0) || ((((_la - 594)) & ~0x3f) == 0 && ((1L << (_la - 594)) & ((1L << (ANSI_NULL_DEFAULT - 594)) | (1L << (PAGE_VERIFY - 594)) | (1L << (CHECKSUM - 594)) | (1L << (TORN_PAGE_DETECTION - 594)) | (1L << (BULK_LOGGED - 594)) | (1L << (RECOVERY - 594)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 594)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 594)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 594)) | (1L << (EXECUTION_COUNT - 594)) | (1L << (QUERY_CAPTURE_POLICY - 594)) | (1L << (WAIT_STATS_CAPTURE_MODE - 594)) | (1L << (MAX_PLANS_PER_QUERY - 594)) | (1L << (QUERY_CAPTURE_MODE - 594)) | (1L << (SIZE_BASED_CLEANUP_MODE - 594)) | (1L << (INTERVAL_LENGTH_MINUTES - 594)) | (1L << (MAX_STORAGE_SIZE_MB - 594)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 594)) | (1L << (CLEANUP_POLICY - 594)) | (1L << (CUSTOM - 594)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 594)) | (1L << (OPERATION_MODE - 594)) | (1L << (QUERY_STORE - 594)) | (1L << (CURSOR_DEFAULT - 594)) | (1L << (GLOBAL - 594)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 594)) | (1L << (HOURS - 594)) | (1L << (CHANGE_RETENTION - 594)) | (1L << (AUTO_CLEANUP - 594)) | (1L << (CHANGE_TRACKING - 594)) | (1L << (AUTOMATIC_TUNING - 594)) | (1L << (FORCE_LAST_GOOD_PLAN - 594)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 594)) | (1L << (AUTO_UPDATE_STATISTICS - 594)) | (1L << (AUTO_SHRINK - 594)) | (1L << (AUTO_CREATE_STATISTICS - 594)) | (1L << (INCREMENTAL - 594)) | (1L << (AUTO_CLOSE - 594)) | (1L << (DATA_RETENTION - 594)) | (1L << (TEMPORAL_HISTORY_RETENTION - 594)) | (1L << (EDITION - 594)) | (1L << (MIXED_PAGE_ALLOCATION - 594)) | (1L << (DISABLED - 594)) | (1L << (ALLOWED - 594)) | (1L << (HADR - 594)) | (1L << (MULTI_USER - 594)) | (1L << (RESTRICTED_USER - 594)) | (1L << (SINGLE_USER - 594)) | (1L << (OFFLINE - 594)) | (1L << (EMERGENCY - 594)) | (1L << (SUSPEND - 594)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 594)) | (1L << (ELASTIC_POOL - 594)) | (1L << (SERVICE_OBJECTIVE - 594)) | (1L << (DATABASE_NAME - 594)) | (1L << (ALLOW_CONNECTIONS - 594)) | (1L << (GEO - 594)) | (1L << (NAMED - 594)) | (1L << (DATEFIRST - 594)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 594)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 594)) | (1L << (SECONDARY - 594)) | (1L << (FAILOVER - 594)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 594)))) != 0) || ((((_la - 658)) & ~0x3f) == 0 && ((1L << (_la - 658)) & ((1L << (DEFAULT_LANGUAGE - 658)) | (1L << (INLINE - 658)) | (1L << (NESTED_TRIGGERS - 658)) | (1L << (TRANSFORM_NOISE_WORDS - 658)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 658)) | (1L << (PERSISTENT_LOG_BUFFER - 658)) | (1L << (DIRECTORY_NAME - 658)) | (1L << (DATEFORMAT - 658)) | (1L << (DELAYED_DURABILITY - 658)) | (1L << (AUTHORIZATION - 658)) | (1L << (TRANSFER - 658)) | (1L << (PROVIDER - 658)) | (1L << (SID - 658)) | (1L << (SEARCH - 658)) | (1L << (MEMBER - 658)) | (1L << (JSON - 658)) | (1L << (OPENJSON - 658)) | (1L << (OPENROWSET - 658)) | (1L << (TRY_CAST - 658)) | (1L << (TRY_CONVERT - 658)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (IDENTIFIER_ - 722)) | (1L << (DELIMITED_IDENTIFIER_ - 722)) | (1L << (STRING_ - 722)) | (1L << (NUMBER_ - 722)) | (1L << (HEX_DIGIT_ - 722)) | (1L << (BIT_NUM_ - 722)) | (1L << (NCHAR_TEXT - 722)))) != 0)) {
8893 {
8894 setState(1750);
8895 expr(0);
8896 }
8897 }
8898
8899 setState(1755);
8900 _errHandler.sync(this);
8901 _la = _input.LA(1);
8902 if (_la==AS) {
8903 {
8904 setState(1753);
8905 match(AS);
8906 setState(1754);
8907 match(JSON);
8908 }
8909 }
8910
8911 }
8912 }
8913 catch (RecognitionException re) {
8914 _localctx.exception = re;
8915 _errHandler.reportError(this, re);
8916 _errHandler.recover(this, re);
8917 }
8918 finally {
8919 exitRule();
8920 }
8921 return _localctx;
8922 }
8923
8924 public static class OpenRowSetFunctionContext extends ParserRuleContext {
8925 public TerminalNode OPENROWSET() { return getToken(SQLServerStatementParser.OPENROWSET, 0); }
8926 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8927 public List<ExprContext> expr() {
8928 return getRuleContexts(ExprContext.class);
8929 }
8930 public ExprContext expr(int i) {
8931 return getRuleContext(ExprContext.class,i);
8932 }
8933 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8934 public TerminalNode COMMA_(int i) {
8935 return getToken(SQLServerStatementParser.COMMA_, i);
8936 }
8937 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8938 public TableNameContext tableName() {
8939 return getRuleContext(TableNameContext.class,0);
8940 }
8941 public List<TerminalNode> SEMI_() { return getTokens(SQLServerStatementParser.SEMI_); }
8942 public TerminalNode SEMI_(int i) {
8943 return getToken(SQLServerStatementParser.SEMI_, i);
8944 }
8945 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
8946 public OpenRowSetFunctionContext(ParserRuleContext parent, int invokingState) {
8947 super(parent, invokingState);
8948 }
8949 @Override public int getRuleIndex() { return RULE_openRowSetFunction; }
8950 @Override
8951 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8952 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenRowSetFunction(this);
8953 else return visitor.visitChildren(this);
8954 }
8955 }
8956
8957 public final OpenRowSetFunctionContext openRowSetFunction() throws RecognitionException {
8958 OpenRowSetFunctionContext _localctx = new OpenRowSetFunctionContext(_ctx, getState());
8959 enterRule(_localctx, 156, RULE_openRowSetFunction);
8960 int _la;
8961 try {
8962 setState(1790);
8963 _errHandler.sync(this);
8964 switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
8965 case 1:
8966 enterOuterAlt(_localctx, 1);
8967 {
8968 setState(1757);
8969 match(OPENROWSET);
8970 setState(1758);
8971 match(LP_);
8972 setState(1759);
8973 expr(0);
8974 setState(1760);
8975 match(COMMA_);
8976 setState(1768);
8977 _errHandler.sync(this);
8978 switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) {
8979 case 1:
8980 {
8981 {
8982 setState(1761);
8983 expr(0);
8984 setState(1762);
8985 match(SEMI_);
8986 setState(1763);
8987 expr(0);
8988 setState(1764);
8989 match(SEMI_);
8990 setState(1765);
8991 expr(0);
8992 }
8993 }
8994 break;
8995 case 2:
8996 {
8997 setState(1767);
8998 expr(0);
8999 }
9000 break;
9001 }
9002 setState(1770);
9003 match(COMMA_);
9004 setState(1773);
9005 _errHandler.sync(this);
9006 switch ( getInterpreter().adaptivePredict(_input,91,_ctx) ) {
9007 case 1:
9008 {
9009 setState(1771);
9010 tableName();
9011 }
9012 break;
9013 case 2:
9014 {
9015 setState(1772);
9016 expr(0);
9017 }
9018 break;
9019 }
9020 setState(1775);
9021 match(RP_);
9022 }
9023 break;
9024 case 2:
9025 enterOuterAlt(_localctx, 2);
9026 {
9027 setState(1777);
9028 match(OPENROWSET);
9029 setState(1778);
9030 match(LP_);
9031 setState(1779);
9032 match(BULK);
9033 setState(1780);
9034 expr(0);
9035 setState(1785);
9036 _errHandler.sync(this);
9037 _la = _input.LA(1);
9038 while (_la==COMMA_) {
9039 {
9040 {
9041 setState(1781);
9042 match(COMMA_);
9043 setState(1782);
9044 expr(0);
9045 }
9046 }
9047 setState(1787);
9048 _errHandler.sync(this);
9049 _la = _input.LA(1);
9050 }
9051 setState(1788);
9052 match(RP_);
9053 }
9054 break;
9055 }
9056 }
9057 catch (RecognitionException re) {
9058 _localctx.exception = re;
9059 _errHandler.reportError(this, re);
9060 _errHandler.recover(this, re);
9061 }
9062 finally {
9063 exitRule();
9064 }
9065 return _localctx;
9066 }
9067
9068 public static class RegularFunctionContext extends ParserRuleContext {
9069 public RegularFunctionNameContext regularFunctionName() {
9070 return getRuleContext(RegularFunctionNameContext.class,0);
9071 }
9072 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9073 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9074 public List<ExprContext> expr() {
9075 return getRuleContexts(ExprContext.class);
9076 }
9077 public ExprContext expr(int i) {
9078 return getRuleContext(ExprContext.class,i);
9079 }
9080 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
9081 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9082 public TerminalNode COMMA_(int i) {
9083 return getToken(SQLServerStatementParser.COMMA_, i);
9084 }
9085 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
9086 super(parent, invokingState);
9087 }
9088 @Override public int getRuleIndex() { return RULE_regularFunction; }
9089 @Override
9090 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9091 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
9092 else return visitor.visitChildren(this);
9093 }
9094 }
9095
9096 public final RegularFunctionContext regularFunction() throws RecognitionException {
9097 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
9098 enterRule(_localctx, 158, RULE_regularFunction);
9099 int _la;
9100 try {
9101 enterOuterAlt(_localctx, 1);
9102 {
9103 setState(1792);
9104 regularFunctionName();
9105 setState(1793);
9106 match(LP_);
9107 setState(1803);
9108 _errHandler.sync(this);
9109 switch (_input.LA(1)) {
9110 case NOT_:
9111 case TILDE_:
9112 case PLUS_:
9113 case MINUS_:
9114 case LP_:
9115 case LBE_:
9116 case LBT_:
9117 case QUESTION_:
9118 case DOLLAR_:
9119 case TRUNCATE:
9120 case SCHEMA:
9121 case COLUMNS:
9122 case PRECISION:
9123 case FUNCTION:
9124 case TRIGGER:
9125 case CASE:
9126 case CAST:
9127 case TRIM:
9128 case SUBSTRING:
9129 case RIGHT:
9130 case OFF:
9131 case IF:
9132 case NOT:
9133 case NULL:
9134 case TRUE:
9135 case FALSE:
9136 case EXISTS:
9137 case GROUP:
9138 case LIMIT:
9139 case OFFSET:
9140 case SAVEPOINT:
9141 case BOOLEAN:
9142 case CHAR:
9143 case ARRAY:
9144 case INTERVAL:
9145 case DATE:
9146 case TIME:
9147 case TIMESTAMP:
9148 case LOCALTIME:
9149 case LOCALTIMESTAMP:
9150 case YEAR:
9151 case QUARTER:
9152 case MONTH:
9153 case WEEK:
9154 case DAY:
9155 case SECOND:
9156 case MICROSECOND:
9157 case MAX:
9158 case MIN:
9159 case SUM:
9160 case COUNT:
9161 case AVG:
9162 case CURRENT:
9163 case ENABLE:
9164 case DISABLE:
9165 case INSTANCE:
9166 case DO:
9167 case DEFINER:
9168 case SQL:
9169 case CASCADED:
9170 case LOCAL:
9171 case NEXT:
9172 case NAME:
9173 case INTEGER:
9174 case TYPE:
9175 case TEXT:
9176 case VIEWS:
9177 case READ_ONLY:
9178 case DATABASE:
9179 case RETURNS:
9180 case DATEPART:
9181 case PASSWORD:
9182 case JSON_OBJECT:
9183 case JSON_ARRAY:
9184 case FIRST_VALUE:
9185 case LAST_VALUE:
9186 case APPROX_PERCENTILE_CONT:
9187 case APPROX_PERCENTILE_DISC:
9188 case OPENDATASOURCE:
9189 case BINARY:
9190 case HIDDEN_:
9191 case MOD:
9192 case PARTITION:
9193 case PARTITIONS:
9194 case TOP:
9195 case ROW:
9196 case ROWS:
9197 case XOR:
9198 case ALWAYS:
9199 case USER:
9200 case ROLE:
9201 case START:
9202 case ALGORITHM:
9203 case AUTO:
9204 case BLOCKERS:
9205 case CLUSTERED:
9206 case NONCLUSTERED:
9207 case COLUMNSTORE:
9208 case CONTENT:
9209 case CONVERT:
9210 case YEARS:
9211 case MONTHS:
9212 case WEEKS:
9213 case DAYS:
9214 case MINUTES:
9215 case DENY:
9216 case DETERMINISTIC:
9217 case DISTRIBUTION:
9218 case DOCUMENT:
9219 case DURABILITY:
9220 case ENCRYPTED:
9221 case FILESTREAM:
9222 case FILETABLE:
9223 case FILLFACTOR:
9224 case FOLLOWING:
9225 case HASH:
9226 case HEAP:
9227 case INBOUND:
9228 case OUTBOUND:
9229 case UNBOUNDED:
9230 case INFINITE:
9231 case LOGIN:
9232 case MASKED:
9233 case MAXDOP:
9234 case MOVE:
9235 case NOCHECK:
9236 case OBJECT:
9237 case ONLINE:
9238 case OVER:
9239 case PAGE:
9240 case PAUSED:
9241 case PERIOD:
9242 case PERSISTED:
9243 case PRECEDING:
9244 case RANDOMIZED:
9245 case RANGE:
9246 case REBUILD:
9247 case REPLICATE:
9248 case REPLICATION:
9249 case RESUMABLE:
9250 case ROWGUIDCOL:
9251 case SAVE:
9252 case SELF:
9253 case SPARSE:
9254 case SWITCH:
9255 case TRAN:
9256 case TRANCOUNT:
9257 case CONTROL:
9258 case CONCAT:
9259 case TAKE:
9260 case OWNERSHIP:
9261 case DEFINITION:
9262 case APPLICATION:
9263 case ASSEMBLY:
9264 case SYMMETRIC:
9265 case ASYMMETRIC:
9266 case SERVER:
9267 case RECEIVE:
9268 case CHANGE:
9269 case TRACE:
9270 case TRACKING:
9271 case RESOURCES:
9272 case SETTINGS:
9273 case STATE:
9274 case AVAILABILITY:
9275 case CREDENTIAL:
9276 case ENDPOINT:
9277 case EVENT:
9278 case NOTIFICATION:
9279 case LINKED:
9280 case AUDIT:
9281 case DDL:
9282 case XML:
9283 case IMPERSONATE:
9284 case SECURABLES:
9285 case AUTHENTICATE:
9286 case EXTERNAL:
9287 case ACCESS:
9288 case ADMINISTER:
9289 case BULK:
9290 case OPERATIONS:
9291 case UNSAFE:
9292 case SHUTDOWN:
9293 case SCOPED:
9294 case CONFIGURATION:
9295 case DATASPACE:
9296 case SERVICE:
9297 case CERTIFICATE:
9298 case CONTRACT:
9299 case ENCRYPTION:
9300 case MASTER:
9301 case DATA:
9302 case SOURCE:
9303 case FILE:
9304 case FORMAT:
9305 case LIBRARY:
9306 case FULLTEXT:
9307 case MASK:
9308 case UNMASK:
9309 case MESSAGE:
9310 case REMOTE:
9311 case BINDING:
9312 case ROUTE:
9313 case SECURITY:
9314 case POLICY:
9315 case AGGREGATE:
9316 case QUEUE:
9317 case RULE:
9318 case SYNONYM:
9319 case COLLECTION:
9320 case SCRIPT:
9321 case KILL:
9322 case BACKUP:
9323 case LOG:
9324 case SHOWPLAN:
9325 case SUBSCRIBE:
9326 case QUERY:
9327 case NOTIFICATIONS:
9328 case CHECKPOINT:
9329 case SEQUENCE:
9330 case ABORT_AFTER_WAIT:
9331 case ALLOW_PAGE_LOCKS:
9332 case ALLOW_ROW_LOCKS:
9333 case ALL_SPARSE_COLUMNS:
9334 case BUCKET_COUNT:
9335 case COLUMNSTORE_ARCHIVE:
9336 case COLUMN_ENCRYPTION_KEY:
9337 case COLUMN_SET:
9338 case COMPRESSION_DELAY:
9339 case DATABASE_DEAULT:
9340 case DATA_COMPRESSION:
9341 case DATA_CONSISTENCY_CHECK:
9342 case ENCRYPTION_TYPE:
9343 case SYSTEM_TIME:
9344 case SYSTEM_VERSIONING:
9345 case TEXTIMAGE_ON:
9346 case WAIT_AT_LOW_PRIORITY:
9347 case STATISTICS_INCREMENTAL:
9348 case STATISTICS_NORECOMPUTE:
9349 case ROUND_ROBIN:
9350 case SCHEMA_AND_DATA:
9351 case SCHEMA_ONLY:
9352 case SORT_IN_TEMPDB:
9353 case IGNORE_DUP_KEY:
9354 case IMPLICIT_TRANSACTIONS:
9355 case MAX_DURATION:
9356 case MEMORY_OPTIMIZED:
9357 case MIGRATION_STATE:
9358 case PAD_INDEX:
9359 case REMOTE_DATA_ARCHIVE:
9360 case FILESTREAM_ON:
9361 case FILETABLE_COLLATE_FILENAME:
9362 case FILETABLE_DIRECTORY:
9363 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
9364 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
9365 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
9366 case FILTER_PREDICATE:
9367 case HISTORY_RETENTION_PERIOD:
9368 case HISTORY_TABLE:
9369 case LOCK_ESCALATION:
9370 case DROP_EXISTING:
9371 case ROW_NUMBER:
9372 case FIRST:
9373 case DATETIME2:
9374 case OUTPUT:
9375 case INSERTED:
9376 case DELETED:
9377 case FILENAME:
9378 case SIZE:
9379 case MAXSIZE:
9380 case FILEGROWTH:
9381 case UNLIMITED:
9382 case KB:
9383 case MB:
9384 case GB:
9385 case TB:
9386 case CONTAINS:
9387 case MEMORY_OPTIMIZED_DATA:
9388 case FILEGROUP:
9389 case NON_TRANSACTED_ACCESS:
9390 case DB_CHAINING:
9391 case TRUSTWORTHY:
9392 case FORWARD_ONLY:
9393 case KEYSET:
9394 case FAST_FORWARD:
9395 case SCROLL_LOCKS:
9396 case OPTIMISTIC:
9397 case TYPE_WARNING:
9398 case SCHEMABINDING:
9399 case CALLER:
9400 case INPUT:
9401 case OWNER:
9402 case SNAPSHOT:
9403 case REPEATABLE:
9404 case SERIALIZABLE:
9405 case NATIVE_COMPILATION:
9406 case VIEW_METADATA:
9407 case INSTEAD:
9408 case APPEND:
9409 case INCREMENT:
9410 case CACHE:
9411 case MINVALUE:
9412 case MAXVALUE:
9413 case RESTART:
9414 case LOB_COMPACTION:
9415 case COMPRESS_ALL_ROW_GROUPS:
9416 case REORGANIZE:
9417 case RESUME:
9418 case PAUSE:
9419 case ABORT:
9420 case ACCELERATED_DATABASE_RECOVERY:
9421 case PERSISTENT_VERSION_STORE_FILEGROUP:
9422 case IMMEDIATE:
9423 case NO_WAIT:
9424 case TARGET_RECOVERY_TIME:
9425 case SECONDS:
9426 case HONOR_BROKER_PRIORITY:
9427 case ERROR_BROKER_CONVERSATIONS:
9428 case NEW_BROKER:
9429 case DISABLE_BROKER:
9430 case ENABLE_BROKER:
9431 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
9432 case READ_COMMITTED_SNAPSHOT:
9433 case ALLOW_SNAPSHOT_ISOLATION:
9434 case RECURSIVE_TRIGGERS:
9435 case QUOTED_IDENTIFIER:
9436 case NUMERIC_ROUNDABORT:
9437 case CONCAT_NULL_YIELDS_NULL:
9438 case COMPATIBILITY_LEVEL:
9439 case ARITHABORT:
9440 case ANSI_WARNINGS:
9441 case ANSI_PADDING:
9442 case ANSI_NULLS:
9443 case ANSI_NULL_DEFAULT:
9444 case PAGE_VERIFY:
9445 case CHECKSUM:
9446 case TORN_PAGE_DETECTION:
9447 case BULK_LOGGED:
9448 case RECOVERY:
9449 case TOTAL_EXECUTION_CPU_TIME_MS:
9450 case TOTAL_COMPILE_CPU_TIME_MS:
9451 case STALE_CAPTURE_POLICY_THRESHOLD:
9452 case EXECUTION_COUNT:
9453 case QUERY_CAPTURE_POLICY:
9454 case WAIT_STATS_CAPTURE_MODE:
9455 case MAX_PLANS_PER_QUERY:
9456 case QUERY_CAPTURE_MODE:
9457 case SIZE_BASED_CLEANUP_MODE:
9458 case INTERVAL_LENGTH_MINUTES:
9459 case MAX_STORAGE_SIZE_MB:
9460 case DATA_FLUSH_INTERVAL_SECONDS:
9461 case CLEANUP_POLICY:
9462 case CUSTOM:
9463 case STALE_QUERY_THRESHOLD_DAYS:
9464 case OPERATION_MODE:
9465 case QUERY_STORE:
9466 case CURSOR_DEFAULT:
9467 case GLOBAL:
9468 case CURSOR_CLOSE_ON_COMMIT:
9469 case HOURS:
9470 case CHANGE_RETENTION:
9471 case AUTO_CLEANUP:
9472 case CHANGE_TRACKING:
9473 case AUTOMATIC_TUNING:
9474 case FORCE_LAST_GOOD_PLAN:
9475 case AUTO_UPDATE_STATISTICS_ASYNC:
9476 case AUTO_UPDATE_STATISTICS:
9477 case AUTO_SHRINK:
9478 case AUTO_CREATE_STATISTICS:
9479 case INCREMENTAL:
9480 case AUTO_CLOSE:
9481 case DATA_RETENTION:
9482 case TEMPORAL_HISTORY_RETENTION:
9483 case EDITION:
9484 case MIXED_PAGE_ALLOCATION:
9485 case DISABLED:
9486 case ALLOWED:
9487 case HADR:
9488 case MULTI_USER:
9489 case RESTRICTED_USER:
9490 case SINGLE_USER:
9491 case OFFLINE:
9492 case EMERGENCY:
9493 case SUSPEND:
9494 case DATE_CORRELATION_OPTIMIZATION:
9495 case ELASTIC_POOL:
9496 case SERVICE_OBJECTIVE:
9497 case DATABASE_NAME:
9498 case ALLOW_CONNECTIONS:
9499 case GEO:
9500 case NAMED:
9501 case DATEFIRST:
9502 case BACKUP_STORAGE_REDUNDANCY:
9503 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
9504 case SECONDARY:
9505 case FAILOVER:
9506 case DEFAULT_FULLTEXT_LANGUAGE:
9507 case DEFAULT_LANGUAGE:
9508 case INLINE:
9509 case NESTED_TRIGGERS:
9510 case TRANSFORM_NOISE_WORDS:
9511 case TWO_DIGIT_YEAR_CUTOFF:
9512 case PERSISTENT_LOG_BUFFER:
9513 case DIRECTORY_NAME:
9514 case DATEFORMAT:
9515 case DELAYED_DURABILITY:
9516 case AUTHORIZATION:
9517 case TRANSFER:
9518 case PROVIDER:
9519 case SID:
9520 case SEARCH:
9521 case MEMBER:
9522 case JSON:
9523 case OPENJSON:
9524 case OPENROWSET:
9525 case TRY_CAST:
9526 case TRY_CONVERT:
9527 case IDENTIFIER_:
9528 case DELIMITED_IDENTIFIER_:
9529 case STRING_:
9530 case NUMBER_:
9531 case HEX_DIGIT_:
9532 case BIT_NUM_:
9533 case NCHAR_TEXT:
9534 {
9535 setState(1794);
9536 expr(0);
9537 setState(1799);
9538 _errHandler.sync(this);
9539 _la = _input.LA(1);
9540 while (_la==COMMA_) {
9541 {
9542 {
9543 setState(1795);
9544 match(COMMA_);
9545 setState(1796);
9546 expr(0);
9547 }
9548 }
9549 setState(1801);
9550 _errHandler.sync(this);
9551 _la = _input.LA(1);
9552 }
9553 }
9554 break;
9555 case ASTERISK_:
9556 {
9557 setState(1802);
9558 match(ASTERISK_);
9559 }
9560 break;
9561 case RP_:
9562 break;
9563 default:
9564 break;
9565 }
9566 setState(1805);
9567 match(RP_);
9568 }
9569 }
9570 catch (RecognitionException re) {
9571 _localctx.exception = re;
9572 _errHandler.reportError(this, re);
9573 _errHandler.recover(this, re);
9574 }
9575 finally {
9576 exitRule();
9577 }
9578 return _localctx;
9579 }
9580
9581 public static class RegularFunctionNameContext extends ParserRuleContext {
9582 public IdentifierContext identifier() {
9583 return getRuleContext(IdentifierContext.class,0);
9584 }
9585 public OwnerContext owner() {
9586 return getRuleContext(OwnerContext.class,0);
9587 }
9588 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
9589 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
9590 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
9591 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
9592 public TerminalNode INTERVAL() { return getToken(SQLServerStatementParser.INTERVAL, 0); }
9593 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
9594 super(parent, invokingState);
9595 }
9596 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
9597 @Override
9598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9599 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
9600 else return visitor.visitChildren(this);
9601 }
9602 }
9603
9604 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
9605 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
9606 enterRule(_localctx, 160, RULE_regularFunctionName);
9607 try {
9608 setState(1817);
9609 _errHandler.sync(this);
9610 switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) {
9611 case 1:
9612 enterOuterAlt(_localctx, 1);
9613 {
9614 setState(1810);
9615 _errHandler.sync(this);
9616 switch ( getInterpreter().adaptivePredict(_input,96,_ctx) ) {
9617 case 1:
9618 {
9619 setState(1807);
9620 owner();
9621 setState(1808);
9622 match(DOT_);
9623 }
9624 break;
9625 }
9626 setState(1812);
9627 identifier();
9628 }
9629 break;
9630 case 2:
9631 enterOuterAlt(_localctx, 2);
9632 {
9633 setState(1813);
9634 match(IF);
9635 }
9636 break;
9637 case 3:
9638 enterOuterAlt(_localctx, 3);
9639 {
9640 setState(1814);
9641 match(LOCALTIME);
9642 }
9643 break;
9644 case 4:
9645 enterOuterAlt(_localctx, 4);
9646 {
9647 setState(1815);
9648 match(LOCALTIMESTAMP);
9649 }
9650 break;
9651 case 5:
9652 enterOuterAlt(_localctx, 5);
9653 {
9654 setState(1816);
9655 match(INTERVAL);
9656 }
9657 break;
9658 }
9659 }
9660 catch (RecognitionException re) {
9661 _localctx.exception = re;
9662 _errHandler.reportError(this, re);
9663 _errHandler.recover(this, re);
9664 }
9665 finally {
9666 exitRule();
9667 }
9668 return _localctx;
9669 }
9670
9671 public static class CaseExpressionContext extends ParserRuleContext {
9672 public TerminalNode CASE() { return getToken(SQLServerStatementParser.CASE, 0); }
9673 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
9674 public SimpleExprContext simpleExpr() {
9675 return getRuleContext(SimpleExprContext.class,0);
9676 }
9677 public List<CaseWhenContext> caseWhen() {
9678 return getRuleContexts(CaseWhenContext.class);
9679 }
9680 public CaseWhenContext caseWhen(int i) {
9681 return getRuleContext(CaseWhenContext.class,i);
9682 }
9683 public CaseElseContext caseElse() {
9684 return getRuleContext(CaseElseContext.class,0);
9685 }
9686 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
9687 super(parent, invokingState);
9688 }
9689 @Override public int getRuleIndex() { return RULE_caseExpression; }
9690 @Override
9691 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9692 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
9693 else return visitor.visitChildren(this);
9694 }
9695 }
9696
9697 public final CaseExpressionContext caseExpression() throws RecognitionException {
9698 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
9699 enterRule(_localctx, 162, RULE_caseExpression);
9700 int _la;
9701 try {
9702 enterOuterAlt(_localctx, 1);
9703 {
9704 setState(1819);
9705 match(CASE);
9706 setState(1821);
9707 _errHandler.sync(this);
9708 _la = _input.LA(1);
9709 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << LBT_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (RIGHT - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (CURRENT - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (OPENDATASOURCE - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (USER - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (AUTO - 267)) | (1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 332)) & ~0x3f) == 0 && ((1L << (_la - 332)) & ((1L << (CONTROL - 332)) | (1L << (CONCAT - 332)) | (1L << (TAKE - 332)) | (1L << (OWNERSHIP - 332)) | (1L << (DEFINITION - 332)) | (1L << (APPLICATION - 332)) | (1L << (ASSEMBLY - 332)) | (1L << (SYMMETRIC - 332)) | (1L << (ASYMMETRIC - 332)) | (1L << (SERVER - 332)) | (1L << (RECEIVE - 332)) | (1L << (CHANGE - 332)) | (1L << (TRACE - 332)) | (1L << (TRACKING - 332)) | (1L << (RESOURCES - 332)) | (1L << (SETTINGS - 332)) | (1L << (STATE - 332)) | (1L << (AVAILABILITY - 332)) | (1L << (CREDENTIAL - 332)) | (1L << (ENDPOINT - 332)) | (1L << (EVENT - 332)) | (1L << (NOTIFICATION - 332)) | (1L << (LINKED - 332)) | (1L << (AUDIT - 332)) | (1L << (DDL - 332)) | (1L << (XML - 332)) | (1L << (IMPERSONATE - 332)) | (1L << (SECURABLES - 332)) | (1L << (AUTHENTICATE - 332)) | (1L << (EXTERNAL - 332)) | (1L << (ACCESS - 332)) | (1L << (ADMINISTER - 332)) | (1L << (BULK - 332)) | (1L << (OPERATIONS - 332)) | (1L << (UNSAFE - 332)) | (1L << (SHUTDOWN - 332)) | (1L << (SCOPED - 332)) | (1L << (CONFIGURATION - 332)) | (1L << (DATASPACE - 332)) | (1L << (SERVICE - 332)) | (1L << (CERTIFICATE - 332)) | (1L << (CONTRACT - 332)) | (1L << (ENCRYPTION - 332)) | (1L << (MASTER - 332)) | (1L << (DATA - 332)) | (1L << (SOURCE - 332)) | (1L << (FILE - 332)) | (1L << (FORMAT - 332)) | (1L << (LIBRARY - 332)) | (1L << (FULLTEXT - 332)) | (1L << (MASK - 332)) | (1L << (UNMASK - 332)) | (1L << (MESSAGE - 332)) | (1L << (REMOTE - 332)) | (1L << (BINDING - 332)) | (1L << (ROUTE - 332)) | (1L << (SECURITY - 332)) | (1L << (POLICY - 332)) | (1L << (AGGREGATE - 332)) | (1L << (QUEUE - 332)) | (1L << (RULE - 332)) | (1L << (SYNONYM - 332)) | (1L << (COLLECTION - 332)) | (1L << (SCRIPT - 332)))) != 0) || ((((_la - 396)) & ~0x3f) == 0 && ((1L << (_la - 396)) & ((1L << (KILL - 396)) | (1L << (BACKUP - 396)) | (1L << (LOG - 396)) | (1L << (SHOWPLAN - 396)) | (1L << (SUBSCRIBE - 396)) | (1L << (QUERY - 396)) | (1L << (NOTIFICATIONS - 396)) | (1L << (CHECKPOINT - 396)) | (1L << (SEQUENCE - 396)) | (1L << (ABORT_AFTER_WAIT - 396)) | (1L << (ALLOW_PAGE_LOCKS - 396)) | (1L << (ALLOW_ROW_LOCKS - 396)) | (1L << (ALL_SPARSE_COLUMNS - 396)) | (1L << (BUCKET_COUNT - 396)) | (1L << (COLUMNSTORE_ARCHIVE - 396)) | (1L << (COLUMN_ENCRYPTION_KEY - 396)) | (1L << (COLUMN_SET - 396)) | (1L << (COMPRESSION_DELAY - 396)) | (1L << (DATABASE_DEAULT - 396)) | (1L << (DATA_COMPRESSION - 396)) | (1L << (DATA_CONSISTENCY_CHECK - 396)) | (1L << (ENCRYPTION_TYPE - 396)) | (1L << (SYSTEM_TIME - 396)) | (1L << (SYSTEM_VERSIONING - 396)) | (1L << (TEXTIMAGE_ON - 396)) | (1L << (WAIT_AT_LOW_PRIORITY - 396)) | (1L << (STATISTICS_INCREMENTAL - 396)) | (1L << (STATISTICS_NORECOMPUTE - 396)) | (1L << (ROUND_ROBIN - 396)) | (1L << (SCHEMA_AND_DATA - 396)) | (1L << (SCHEMA_ONLY - 396)) | (1L << (SORT_IN_TEMPDB - 396)) | (1L << (IGNORE_DUP_KEY - 396)) | (1L << (IMPLICIT_TRANSACTIONS - 396)) | (1L << (MAX_DURATION - 396)) | (1L << (MEMORY_OPTIMIZED - 396)) | (1L << (MIGRATION_STATE - 396)) | (1L << (PAD_INDEX - 396)) | (1L << (REMOTE_DATA_ARCHIVE - 396)) | (1L << (FILESTREAM_ON - 396)) | (1L << (FILETABLE_COLLATE_FILENAME - 396)) | (1L << (FILETABLE_DIRECTORY - 396)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 396)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 396)) | (1L << (FILTER_PREDICATE - 396)) | (1L << (HISTORY_RETENTION_PERIOD - 396)) | (1L << (HISTORY_TABLE - 396)) | (1L << (LOCK_ESCALATION - 396)) | (1L << (DROP_EXISTING - 396)) | (1L << (ROW_NUMBER - 396)) | (1L << (FIRST - 396)) | (1L << (DATETIME2 - 396)))) != 0) || ((((_la - 466)) & ~0x3f) == 0 && ((1L << (_la - 466)) & ((1L << (OUTPUT - 466)) | (1L << (INSERTED - 466)) | (1L << (DELETED - 466)) | (1L << (FILENAME - 466)) | (1L << (SIZE - 466)) | (1L << (MAXSIZE - 466)) | (1L << (FILEGROWTH - 466)) | (1L << (UNLIMITED - 466)) | (1L << (KB - 466)) | (1L << (MB - 466)) | (1L << (GB - 466)) | (1L << (TB - 466)) | (1L << (CONTAINS - 466)) | (1L << (MEMORY_OPTIMIZED_DATA - 466)) | (1L << (FILEGROUP - 466)) | (1L << (NON_TRANSACTED_ACCESS - 466)) | (1L << (DB_CHAINING - 466)) | (1L << (TRUSTWORTHY - 466)) | (1L << (FORWARD_ONLY - 466)) | (1L << (KEYSET - 466)) | (1L << (FAST_FORWARD - 466)) | (1L << (SCROLL_LOCKS - 466)) | (1L << (OPTIMISTIC - 466)) | (1L << (TYPE_WARNING - 466)) | (1L << (SCHEMABINDING - 466)))) != 0) || ((((_la - 530)) & ~0x3f) == 0 && ((1L << (_la - 530)) & ((1L << (CALLER - 530)) | (1L << (INPUT - 530)) | (1L << (OWNER - 530)) | (1L << (SNAPSHOT - 530)) | (1L << (REPEATABLE - 530)) | (1L << (SERIALIZABLE - 530)) | (1L << (NATIVE_COMPILATION - 530)) | (1L << (VIEW_METADATA - 530)) | (1L << (INSTEAD - 530)) | (1L << (APPEND - 530)) | (1L << (INCREMENT - 530)) | (1L << (CACHE - 530)) | (1L << (MINVALUE - 530)) | (1L << (MAXVALUE - 530)) | (1L << (RESTART - 530)) | (1L << (LOB_COMPACTION - 530)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 530)) | (1L << (REORGANIZE - 530)) | (1L << (RESUME - 530)) | (1L << (PAUSE - 530)) | (1L << (ABORT - 530)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 530)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 530)) | (1L << (IMMEDIATE - 530)) | (1L << (NO_WAIT - 530)) | (1L << (TARGET_RECOVERY_TIME - 530)) | (1L << (SECONDS - 530)) | (1L << (HONOR_BROKER_PRIORITY - 530)) | (1L << (ERROR_BROKER_CONVERSATIONS - 530)) | (1L << (NEW_BROKER - 530)) | (1L << (DISABLE_BROKER - 530)) | (1L << (ENABLE_BROKER - 530)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 530)) | (1L << (READ_COMMITTED_SNAPSHOT - 530)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 530)) | (1L << (RECURSIVE_TRIGGERS - 530)) | (1L << (QUOTED_IDENTIFIER - 530)) | (1L << (NUMERIC_ROUNDABORT - 530)) | (1L << (CONCAT_NULL_YIELDS_NULL - 530)) | (1L << (COMPATIBILITY_LEVEL - 530)) | (1L << (ARITHABORT - 530)) | (1L << (ANSI_WARNINGS - 530)) | (1L << (ANSI_PADDING - 530)) | (1L << (ANSI_NULLS - 530)))) != 0) || ((((_la - 594)) & ~0x3f) == 0 && ((1L << (_la - 594)) & ((1L << (ANSI_NULL_DEFAULT - 594)) | (1L << (PAGE_VERIFY - 594)) | (1L << (CHECKSUM - 594)) | (1L << (TORN_PAGE_DETECTION - 594)) | (1L << (BULK_LOGGED - 594)) | (1L << (RECOVERY - 594)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 594)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 594)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 594)) | (1L << (EXECUTION_COUNT - 594)) | (1L << (QUERY_CAPTURE_POLICY - 594)) | (1L << (WAIT_STATS_CAPTURE_MODE - 594)) | (1L << (MAX_PLANS_PER_QUERY - 594)) | (1L << (QUERY_CAPTURE_MODE - 594)) | (1L << (SIZE_BASED_CLEANUP_MODE - 594)) | (1L << (INTERVAL_LENGTH_MINUTES - 594)) | (1L << (MAX_STORAGE_SIZE_MB - 594)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 594)) | (1L << (CLEANUP_POLICY - 594)) | (1L << (CUSTOM - 594)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 594)) | (1L << (OPERATION_MODE - 594)) | (1L << (QUERY_STORE - 594)) | (1L << (CURSOR_DEFAULT - 594)) | (1L << (GLOBAL - 594)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 594)) | (1L << (HOURS - 594)) | (1L << (CHANGE_RETENTION - 594)) | (1L << (AUTO_CLEANUP - 594)) | (1L << (CHANGE_TRACKING - 594)) | (1L << (AUTOMATIC_TUNING - 594)) | (1L << (FORCE_LAST_GOOD_PLAN - 594)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 594)) | (1L << (AUTO_UPDATE_STATISTICS - 594)) | (1L << (AUTO_SHRINK - 594)) | (1L << (AUTO_CREATE_STATISTICS - 594)) | (1L << (INCREMENTAL - 594)) | (1L << (AUTO_CLOSE - 594)) | (1L << (DATA_RETENTION - 594)) | (1L << (TEMPORAL_HISTORY_RETENTION - 594)) | (1L << (EDITION - 594)) | (1L << (MIXED_PAGE_ALLOCATION - 594)) | (1L << (DISABLED - 594)) | (1L << (ALLOWED - 594)) | (1L << (HADR - 594)) | (1L << (MULTI_USER - 594)) | (1L << (RESTRICTED_USER - 594)) | (1L << (SINGLE_USER - 594)) | (1L << (OFFLINE - 594)) | (1L << (EMERGENCY - 594)) | (1L << (SUSPEND - 594)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 594)) | (1L << (ELASTIC_POOL - 594)) | (1L << (SERVICE_OBJECTIVE - 594)) | (1L << (DATABASE_NAME - 594)) | (1L << (ALLOW_CONNECTIONS - 594)) | (1L << (GEO - 594)) | (1L << (NAMED - 594)) | (1L << (DATEFIRST - 594)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 594)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 594)) | (1L << (SECONDARY - 594)) | (1L << (FAILOVER - 594)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 594)))) != 0) || ((((_la - 658)) & ~0x3f) == 0 && ((1L << (_la - 658)) & ((1L << (DEFAULT_LANGUAGE - 658)) | (1L << (INLINE - 658)) | (1L << (NESTED_TRIGGERS - 658)) | (1L << (TRANSFORM_NOISE_WORDS - 658)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 658)) | (1L << (PERSISTENT_LOG_BUFFER - 658)) | (1L << (DIRECTORY_NAME - 658)) | (1L << (DATEFORMAT - 658)) | (1L << (DELAYED_DURABILITY - 658)) | (1L << (AUTHORIZATION - 658)) | (1L << (TRANSFER - 658)) | (1L << (PROVIDER - 658)) | (1L << (SID - 658)) | (1L << (SEARCH - 658)) | (1L << (MEMBER - 658)) | (1L << (JSON - 658)) | (1L << (OPENJSON - 658)) | (1L << (OPENROWSET - 658)) | (1L << (TRY_CAST - 658)) | (1L << (TRY_CONVERT - 658)))) != 0) || ((((_la - 722)) & ~0x3f) == 0 && ((1L << (_la - 722)) & ((1L << (IDENTIFIER_ - 722)) | (1L << (DELIMITED_IDENTIFIER_ - 722)) | (1L << (STRING_ - 722)) | (1L << (NUMBER_ - 722)) | (1L << (HEX_DIGIT_ - 722)) | (1L << (BIT_NUM_ - 722)) | (1L << (NCHAR_TEXT - 722)))) != 0)) {
9710 {
9711 setState(1820);
9712 simpleExpr(0);
9713 }
9714 }
9715
9716 setState(1824);
9717 _errHandler.sync(this);
9718 _la = _input.LA(1);
9719 do {
9720 {
9721 {
9722 setState(1823);
9723 caseWhen();
9724 }
9725 }
9726 setState(1826);
9727 _errHandler.sync(this);
9728 _la = _input.LA(1);
9729 } while ( _la==WHEN );
9730 setState(1829);
9731 _errHandler.sync(this);
9732 _la = _input.LA(1);
9733 if (_la==ELSE) {
9734 {
9735 setState(1828);
9736 caseElse();
9737 }
9738 }
9739
9740 setState(1831);
9741 match(END);
9742 }
9743 }
9744 catch (RecognitionException re) {
9745 _localctx.exception = re;
9746 _errHandler.reportError(this, re);
9747 _errHandler.recover(this, re);
9748 }
9749 finally {
9750 exitRule();
9751 }
9752 return _localctx;
9753 }
9754
9755 public static class CaseWhenContext extends ParserRuleContext {
9756 public TerminalNode WHEN() { return getToken(SQLServerStatementParser.WHEN, 0); }
9757 public List<ExprContext> expr() {
9758 return getRuleContexts(ExprContext.class);
9759 }
9760 public ExprContext expr(int i) {
9761 return getRuleContext(ExprContext.class,i);
9762 }
9763 public TerminalNode THEN() { return getToken(SQLServerStatementParser.THEN, 0); }
9764 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
9765 super(parent, invokingState);
9766 }
9767 @Override public int getRuleIndex() { return RULE_caseWhen; }
9768 @Override
9769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
9771 else return visitor.visitChildren(this);
9772 }
9773 }
9774
9775 public final CaseWhenContext caseWhen() throws RecognitionException {
9776 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
9777 enterRule(_localctx, 164, RULE_caseWhen);
9778 try {
9779 enterOuterAlt(_localctx, 1);
9780 {
9781 setState(1833);
9782 match(WHEN);
9783 setState(1834);
9784 expr(0);
9785 setState(1835);
9786 match(THEN);
9787 setState(1836);
9788 expr(0);
9789 }
9790 }
9791 catch (RecognitionException re) {
9792 _localctx.exception = re;
9793 _errHandler.reportError(this, re);
9794 _errHandler.recover(this, re);
9795 }
9796 finally {
9797 exitRule();
9798 }
9799 return _localctx;
9800 }
9801
9802 public static class CaseElseContext extends ParserRuleContext {
9803 public TerminalNode ELSE() { return getToken(SQLServerStatementParser.ELSE, 0); }
9804 public ExprContext expr() {
9805 return getRuleContext(ExprContext.class,0);
9806 }
9807 public CaseElseContext(ParserRuleContext parent, int invokingState) {
9808 super(parent, invokingState);
9809 }
9810 @Override public int getRuleIndex() { return RULE_caseElse; }
9811 @Override
9812 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9813 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseElse(this);
9814 else return visitor.visitChildren(this);
9815 }
9816 }
9817
9818 public final CaseElseContext caseElse() throws RecognitionException {
9819 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
9820 enterRule(_localctx, 166, RULE_caseElse);
9821 try {
9822 enterOuterAlt(_localctx, 1);
9823 {
9824 setState(1838);
9825 match(ELSE);
9826 setState(1839);
9827 expr(0);
9828 }
9829 }
9830 catch (RecognitionException re) {
9831 _localctx.exception = re;
9832 _errHandler.reportError(this, re);
9833 _errHandler.recover(this, re);
9834 }
9835 finally {
9836 exitRule();
9837 }
9838 return _localctx;
9839 }
9840
9841 public static class PrivateExprOfDbContext extends ParserRuleContext {
9842 public WindowFunctionContext windowFunction() {
9843 return getRuleContext(WindowFunctionContext.class,0);
9844 }
9845 public AtTimeZoneExprContext atTimeZoneExpr() {
9846 return getRuleContext(AtTimeZoneExprContext.class,0);
9847 }
9848 public CastExprContext castExpr() {
9849 return getRuleContext(CastExprContext.class,0);
9850 }
9851 public ConvertExprContext convertExpr() {
9852 return getRuleContext(ConvertExprContext.class,0);
9853 }
9854 public PrivateExprOfDbContext(ParserRuleContext parent, int invokingState) {
9855 super(parent, invokingState);
9856 }
9857 @Override public int getRuleIndex() { return RULE_privateExprOfDb; }
9858 @Override
9859 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9860 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivateExprOfDb(this);
9861 else return visitor.visitChildren(this);
9862 }
9863 }
9864
9865 public final PrivateExprOfDbContext privateExprOfDb() throws RecognitionException {
9866 PrivateExprOfDbContext _localctx = new PrivateExprOfDbContext(_ctx, getState());
9867 enterRule(_localctx, 168, RULE_privateExprOfDb);
9868 try {
9869 setState(1845);
9870 _errHandler.sync(this);
9871 switch (_input.LA(1)) {
9872 case FIRST_VALUE:
9873 case LAST_VALUE:
9874 enterOuterAlt(_localctx, 1);
9875 {
9876 setState(1841);
9877 windowFunction();
9878 }
9879 break;
9880 case IDENTIFIER_:
9881 enterOuterAlt(_localctx, 2);
9882 {
9883 setState(1842);
9884 atTimeZoneExpr();
9885 }
9886 break;
9887 case CAST:
9888 enterOuterAlt(_localctx, 3);
9889 {
9890 setState(1843);
9891 castExpr();
9892 }
9893 break;
9894 case CONVERT:
9895 enterOuterAlt(_localctx, 4);
9896 {
9897 setState(1844);
9898 convertExpr();
9899 }
9900 break;
9901 default:
9902 throw new NoViableAltException(this);
9903 }
9904 }
9905 catch (RecognitionException re) {
9906 _localctx.exception = re;
9907 _errHandler.reportError(this, re);
9908 _errHandler.recover(this, re);
9909 }
9910 finally {
9911 exitRule();
9912 }
9913 return _localctx;
9914 }
9915
9916 public static class OrderByClauseContext extends ParserRuleContext {
9917 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
9918 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9919 public List<OrderByItemContext> orderByItem() {
9920 return getRuleContexts(OrderByItemContext.class);
9921 }
9922 public OrderByItemContext orderByItem(int i) {
9923 return getRuleContext(OrderByItemContext.class,i);
9924 }
9925 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9926 public TerminalNode COMMA_(int i) {
9927 return getToken(SQLServerStatementParser.COMMA_, i);
9928 }
9929 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
9930 public List<ExprContext> expr() {
9931 return getRuleContexts(ExprContext.class);
9932 }
9933 public ExprContext expr(int i) {
9934 return getRuleContext(ExprContext.class,i);
9935 }
9936 public List<TerminalNode> ROW() { return getTokens(SQLServerStatementParser.ROW); }
9937 public TerminalNode ROW(int i) {
9938 return getToken(SQLServerStatementParser.ROW, i);
9939 }
9940 public List<TerminalNode> ROWS() { return getTokens(SQLServerStatementParser.ROWS); }
9941 public TerminalNode ROWS(int i) {
9942 return getToken(SQLServerStatementParser.ROWS, i);
9943 }
9944 public TerminalNode FETCH() { return getToken(SQLServerStatementParser.FETCH, 0); }
9945 public TerminalNode ONLY() { return getToken(SQLServerStatementParser.ONLY, 0); }
9946 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
9947 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
9948 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
9949 super(parent, invokingState);
9950 }
9951 @Override public int getRuleIndex() { return RULE_orderByClause; }
9952 @Override
9953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9954 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
9955 else return visitor.visitChildren(this);
9956 }
9957 }
9958
9959 public final OrderByClauseContext orderByClause() throws RecognitionException {
9960 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
9961 enterRule(_localctx, 170, RULE_orderByClause);
9962 int _la;
9963 try {
9964 enterOuterAlt(_localctx, 1);
9965 {
9966 setState(1847);
9967 match(ORDER);
9968 setState(1848);
9969 match(BY);
9970 setState(1849);
9971 orderByItem();
9972 setState(1854);
9973 _errHandler.sync(this);
9974 _la = _input.LA(1);
9975 while (_la==COMMA_) {
9976 {
9977 {
9978 setState(1850);
9979 match(COMMA_);
9980 setState(1851);
9981 orderByItem();
9982 }
9983 }
9984 setState(1856);
9985 _errHandler.sync(this);
9986 _la = _input.LA(1);
9987 }
9988 setState(1868);
9989 _errHandler.sync(this);
9990 _la = _input.LA(1);
9991 if (_la==OFFSET) {
9992 {
9993 setState(1857);
9994 match(OFFSET);
9995 setState(1858);
9996 expr(0);
9997 setState(1859);
9998 _la = _input.LA(1);
9999 if ( !(_la==ROW || _la==ROWS) ) {
10000 _errHandler.recoverInline(this);
10001 }
10002 else {
10003 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10004 _errHandler.reportMatch(this);
10005 consume();
10006 }
10007 setState(1866);
10008 _errHandler.sync(this);
10009 _la = _input.LA(1);
10010 if (_la==FETCH) {
10011 {
10012 setState(1860);
10013 match(FETCH);
10014 setState(1861);
10015 _la = _input.LA(1);
10016 if ( !(_la==NEXT || _la==FIRST) ) {
10017 _errHandler.recoverInline(this);
10018 }
10019 else {
10020 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10021 _errHandler.reportMatch(this);
10022 consume();
10023 }
10024 setState(1862);
10025 expr(0);
10026 setState(1863);
10027 _la = _input.LA(1);
10028 if ( !(_la==ROW || _la==ROWS) ) {
10029 _errHandler.recoverInline(this);
10030 }
10031 else {
10032 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10033 _errHandler.reportMatch(this);
10034 consume();
10035 }
10036 setState(1864);
10037 match(ONLY);
10038 }
10039 }
10040
10041 }
10042 }
10043
10044 }
10045 }
10046 catch (RecognitionException re) {
10047 _localctx.exception = re;
10048 _errHandler.reportError(this, re);
10049 _errHandler.recover(this, re);
10050 }
10051 finally {
10052 exitRule();
10053 }
10054 return _localctx;
10055 }
10056
10057 public static class OrderByItemContext extends ParserRuleContext {
10058 public ColumnNameContext columnName() {
10059 return getRuleContext(ColumnNameContext.class,0);
10060 }
10061 public NumberLiteralsContext numberLiterals() {
10062 return getRuleContext(NumberLiteralsContext.class,0);
10063 }
10064 public ExprContext expr() {
10065 return getRuleContext(ExprContext.class,0);
10066 }
10067 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
10068 public IdentifierContext identifier() {
10069 return getRuleContext(IdentifierContext.class,0);
10070 }
10071 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
10072 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
10073 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
10074 super(parent, invokingState);
10075 }
10076 @Override public int getRuleIndex() { return RULE_orderByItem; }
10077 @Override
10078 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10079 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
10080 else return visitor.visitChildren(this);
10081 }
10082 }
10083
10084 public final OrderByItemContext orderByItem() throws RecognitionException {
10085 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
10086 enterRule(_localctx, 172, RULE_orderByItem);
10087 int _la;
10088 try {
10089 enterOuterAlt(_localctx, 1);
10090 {
10091 setState(1873);
10092 _errHandler.sync(this);
10093 switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
10094 case 1:
10095 {
10096 setState(1870);
10097 columnName();
10098 }
10099 break;
10100 case 2:
10101 {
10102 setState(1871);
10103 numberLiterals();
10104 }
10105 break;
10106 case 3:
10107 {
10108 setState(1872);
10109 expr(0);
10110 }
10111 break;
10112 }
10113 setState(1877);
10114 _errHandler.sync(this);
10115 _la = _input.LA(1);
10116 if (_la==COLLATE) {
10117 {
10118 setState(1875);
10119 match(COLLATE);
10120 setState(1876);
10121 identifier();
10122 }
10123 }
10124
10125 setState(1880);
10126 _errHandler.sync(this);
10127 _la = _input.LA(1);
10128 if (_la==ASC || _la==DESC) {
10129 {
10130 setState(1879);
10131 _la = _input.LA(1);
10132 if ( !(_la==ASC || _la==DESC) ) {
10133 _errHandler.recoverInline(this);
10134 }
10135 else {
10136 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10137 _errHandler.reportMatch(this);
10138 consume();
10139 }
10140 }
10141 }
10142
10143 }
10144 }
10145 catch (RecognitionException re) {
10146 _localctx.exception = re;
10147 _errHandler.reportError(this, re);
10148 _errHandler.recover(this, re);
10149 }
10150 finally {
10151 exitRule();
10152 }
10153 return _localctx;
10154 }
10155
10156 public static class DataTypeContext extends ParserRuleContext {
10157 public DataTypeNameContext dataTypeName() {
10158 return getRuleContext(DataTypeNameContext.class,0);
10159 }
10160 public List<IgnoredIdentifierContext> ignoredIdentifier() {
10161 return getRuleContexts(IgnoredIdentifierContext.class);
10162 }
10163 public IgnoredIdentifierContext ignoredIdentifier(int i) {
10164 return getRuleContext(IgnoredIdentifierContext.class,i);
10165 }
10166 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
10167 public DataTypeLengthContext dataTypeLength() {
10168 return getRuleContext(DataTypeLengthContext.class,0);
10169 }
10170 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10171 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
10172 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10173 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
10174 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
10175 public DataTypeContext(ParserRuleContext parent, int invokingState) {
10176 super(parent, invokingState);
10177 }
10178 @Override public int getRuleIndex() { return RULE_dataType; }
10179 @Override
10180 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10181 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataType(this);
10182 else return visitor.visitChildren(this);
10183 }
10184 }
10185
10186 public final DataTypeContext dataType() throws RecognitionException {
10187 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
10188 enterRule(_localctx, 174, RULE_dataType);
10189 int _la;
10190 try {
10191 enterOuterAlt(_localctx, 1);
10192 {
10193 setState(1885);
10194 _errHandler.sync(this);
10195 switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) {
10196 case 1:
10197 {
10198 setState(1882);
10199 ignoredIdentifier();
10200 setState(1883);
10201 match(DOT_);
10202 }
10203 break;
10204 }
10205 setState(1887);
10206 dataTypeName();
10207 setState(1899);
10208 _errHandler.sync(this);
10209 switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
10210 case 1:
10211 {
10212 setState(1888);
10213 dataTypeLength();
10214 }
10215 break;
10216 case 2:
10217 {
10218 setState(1889);
10219 match(LP_);
10220 setState(1890);
10221 match(MAX);
10222 setState(1891);
10223 match(RP_);
10224 }
10225 break;
10226 case 3:
10227 {
10228 setState(1892);
10229 match(LP_);
10230 setState(1894);
10231 _errHandler.sync(this);
10232 _la = _input.LA(1);
10233 if (_la==CONTENT || _la==DOCUMENT) {
10234 {
10235 setState(1893);
10236 _la = _input.LA(1);
10237 if ( !(_la==CONTENT || _la==DOCUMENT) ) {
10238 _errHandler.recoverInline(this);
10239 }
10240 else {
10241 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10242 _errHandler.reportMatch(this);
10243 consume();
10244 }
10245 }
10246 }
10247
10248 setState(1896);
10249 ignoredIdentifier();
10250 setState(1897);
10251 match(RP_);
10252 }
10253 break;
10254 }
10255 }
10256 }
10257 catch (RecognitionException re) {
10258 _localctx.exception = re;
10259 _errHandler.reportError(this, re);
10260 _errHandler.recover(this, re);
10261 }
10262 finally {
10263 exitRule();
10264 }
10265 return _localctx;
10266 }
10267
10268 public static class DataTypeNameContext extends ParserRuleContext {
10269 public TerminalNode BIGINT() { return getToken(SQLServerStatementParser.BIGINT, 0); }
10270 public TerminalNode NUMERIC() { return getToken(SQLServerStatementParser.NUMERIC, 0); }
10271 public TerminalNode BIT() { return getToken(SQLServerStatementParser.BIT, 0); }
10272 public TerminalNode SMALLINT() { return getToken(SQLServerStatementParser.SMALLINT, 0); }
10273 public TerminalNode DECIMAL() { return getToken(SQLServerStatementParser.DECIMAL, 0); }
10274 public TerminalNode SMALLMONEY() { return getToken(SQLServerStatementParser.SMALLMONEY, 0); }
10275 public TerminalNode INT() { return getToken(SQLServerStatementParser.INT, 0); }
10276 public TerminalNode TINYINT() { return getToken(SQLServerStatementParser.TINYINT, 0); }
10277 public TerminalNode MONEY() { return getToken(SQLServerStatementParser.MONEY, 0); }
10278 public TerminalNode FLOAT() { return getToken(SQLServerStatementParser.FLOAT, 0); }
10279 public TerminalNode REAL() { return getToken(SQLServerStatementParser.REAL, 0); }
10280 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
10281 public TerminalNode DATETIMEOFFSET() { return getToken(SQLServerStatementParser.DATETIMEOFFSET, 0); }
10282 public TerminalNode SMALLDATETIME() { return getToken(SQLServerStatementParser.SMALLDATETIME, 0); }
10283 public TerminalNode DATETIME() { return getToken(SQLServerStatementParser.DATETIME, 0); }
10284 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
10285 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
10286 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
10287 public TerminalNode VARCHAR() { return getToken(SQLServerStatementParser.VARCHAR, 0); }
10288 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
10289 public TerminalNode NCHAR() { return getToken(SQLServerStatementParser.NCHAR, 0); }
10290 public TerminalNode NVARCHAR() { return getToken(SQLServerStatementParser.NVARCHAR, 0); }
10291 public TerminalNode NTEXT() { return getToken(SQLServerStatementParser.NTEXT, 0); }
10292 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
10293 public TerminalNode VARBINARY() { return getToken(SQLServerStatementParser.VARBINARY, 0); }
10294 public TerminalNode IMAGE() { return getToken(SQLServerStatementParser.IMAGE, 0); }
10295 public TerminalNode SQL_VARIANT() { return getToken(SQLServerStatementParser.SQL_VARIANT, 0); }
10296 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
10297 public TerminalNode UNIQUEIDENTIFIER() { return getToken(SQLServerStatementParser.UNIQUEIDENTIFIER, 0); }
10298 public TerminalNode HIERARCHYID() { return getToken(SQLServerStatementParser.HIERARCHYID, 0); }
10299 public TerminalNode GEOMETRY() { return getToken(SQLServerStatementParser.GEOMETRY, 0); }
10300 public TerminalNode GEOGRAPHY() { return getToken(SQLServerStatementParser.GEOGRAPHY, 0); }
10301 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10302 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
10303 public DataTypeNameContext(ParserRuleContext parent, int invokingState) {
10304 super(parent, invokingState);
10305 }
10306 @Override public int getRuleIndex() { return RULE_dataTypeName; }
10307 @Override
10308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeName(this);
10310 else return visitor.visitChildren(this);
10311 }
10312 }
10313
10314 public final DataTypeNameContext dataTypeName() throws RecognitionException {
10315 DataTypeNameContext _localctx = new DataTypeNameContext(_ctx, getState());
10316 enterRule(_localctx, 176, RULE_dataTypeName);
10317 int _la;
10318 try {
10319 enterOuterAlt(_localctx, 1);
10320 {
10321 setState(1901);
10322 _la = _input.LA(1);
10323 if ( !(((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & ((1L << (CHAR - 131)) | (1L << (DATE - 131)) | (1L << (TIME - 131)) | (1L << (INTEGER - 131)) | (1L << (REAL - 131)) | (1L << (DECIMAL - 131)) | (1L << (BIT - 131)) | (1L << (SMALLINT - 131)) | (1L << (INT - 131)) | (1L << (TINYINT - 131)) | (1L << (NUMERIC - 131)) | (1L << (FLOAT - 131)) | (1L << (BIGINT - 131)) | (1L << (TEXT - 131)) | (1L << (VARCHAR - 131)))) != 0) || _la==BINARY || _la==XML || ((((_la - 450)) & ~0x3f) == 0 && ((1L << (_la - 450)) & ((1L << (MONEY - 450)) | (1L << (SMALLMONEY - 450)) | (1L << (DATETIMEOFFSET - 450)) | (1L << (DATETIME - 450)) | (1L << (DATETIME2 - 450)) | (1L << (SMALLDATETIME - 450)) | (1L << (NCHAR - 450)) | (1L << (NVARCHAR - 450)) | (1L << (NTEXT - 450)) | (1L << (VARBINARY - 450)) | (1L << (IMAGE - 450)) | (1L << (SQL_VARIANT - 450)) | (1L << (UNIQUEIDENTIFIER - 450)) | (1L << (HIERARCHYID - 450)) | (1L << (GEOMETRY - 450)) | (1L << (GEOGRAPHY - 450)))) != 0) || _la==IDENTIFIER_) ) {
10324 _errHandler.recoverInline(this);
10325 }
10326 else {
10327 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10328 _errHandler.reportMatch(this);
10329 consume();
10330 }
10331 }
10332 }
10333 catch (RecognitionException re) {
10334 _localctx.exception = re;
10335 _errHandler.reportError(this, re);
10336 _errHandler.recover(this, re);
10337 }
10338 finally {
10339 exitRule();
10340 }
10341 return _localctx;
10342 }
10343
10344 public static class AtTimeZoneExprContext extends ParserRuleContext {
10345 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10346 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
10347 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
10348 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
10349 public TerminalNode ZONE() { return getToken(SQLServerStatementParser.ZONE, 0); }
10350 public AtTimeZoneExprContext(ParserRuleContext parent, int invokingState) {
10351 super(parent, invokingState);
10352 }
10353 @Override public int getRuleIndex() { return RULE_atTimeZoneExpr; }
10354 @Override
10355 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10356 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAtTimeZoneExpr(this);
10357 else return visitor.visitChildren(this);
10358 }
10359 }
10360
10361 public final AtTimeZoneExprContext atTimeZoneExpr() throws RecognitionException {
10362 AtTimeZoneExprContext _localctx = new AtTimeZoneExprContext(_ctx, getState());
10363 enterRule(_localctx, 178, RULE_atTimeZoneExpr);
10364 int _la;
10365 try {
10366 enterOuterAlt(_localctx, 1);
10367 {
10368 setState(1903);
10369 match(IDENTIFIER_);
10370 setState(1907);
10371 _errHandler.sync(this);
10372 _la = _input.LA(1);
10373 if (_la==WITH) {
10374 {
10375 setState(1904);
10376 match(WITH);
10377 setState(1905);
10378 match(TIME);
10379 setState(1906);
10380 match(ZONE);
10381 }
10382 }
10383
10384 setState(1909);
10385 match(STRING_);
10386 }
10387 }
10388 catch (RecognitionException re) {
10389 _localctx.exception = re;
10390 _errHandler.reportError(this, re);
10391 _errHandler.recover(this, re);
10392 }
10393 finally {
10394 exitRule();
10395 }
10396 return _localctx;
10397 }
10398
10399 public static class CastExprContext extends ParserRuleContext {
10400 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
10401 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
10402 public TerminalNode LP_(int i) {
10403 return getToken(SQLServerStatementParser.LP_, i);
10404 }
10405 public ExprContext expr() {
10406 return getRuleContext(ExprContext.class,0);
10407 }
10408 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
10409 public DataTypeContext dataType() {
10410 return getRuleContext(DataTypeContext.class,0);
10411 }
10412 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
10413 public TerminalNode RP_(int i) {
10414 return getToken(SQLServerStatementParser.RP_, i);
10415 }
10416 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10417 public CastExprContext(ParserRuleContext parent, int invokingState) {
10418 super(parent, invokingState);
10419 }
10420 @Override public int getRuleIndex() { return RULE_castExpr; }
10421 @Override
10422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10423 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastExpr(this);
10424 else return visitor.visitChildren(this);
10425 }
10426 }
10427
10428 public final CastExprContext castExpr() throws RecognitionException {
10429 CastExprContext _localctx = new CastExprContext(_ctx, getState());
10430 enterRule(_localctx, 180, RULE_castExpr);
10431 int _la;
10432 try {
10433 enterOuterAlt(_localctx, 1);
10434 {
10435 setState(1911);
10436 match(CAST);
10437 setState(1912);
10438 match(LP_);
10439 setState(1913);
10440 expr(0);
10441 setState(1914);
10442 match(AS);
10443 setState(1915);
10444 dataType();
10445 setState(1919);
10446 _errHandler.sync(this);
10447 _la = _input.LA(1);
10448 if (_la==LP_) {
10449 {
10450 setState(1916);
10451 match(LP_);
10452 setState(1917);
10453 match(NUMBER_);
10454 setState(1918);
10455 match(RP_);
10456 }
10457 }
10458
10459 setState(1921);
10460 match(RP_);
10461 }
10462 }
10463 catch (RecognitionException re) {
10464 _localctx.exception = re;
10465 _errHandler.reportError(this, re);
10466 _errHandler.recover(this, re);
10467 }
10468 finally {
10469 exitRule();
10470 }
10471 return _localctx;
10472 }
10473
10474 public static class ConvertExprContext extends ParserRuleContext {
10475 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
10476 public DataTypeContext dataType() {
10477 return getRuleContext(DataTypeContext.class,0);
10478 }
10479 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10480 public TerminalNode COMMA_(int i) {
10481 return getToken(SQLServerStatementParser.COMMA_, i);
10482 }
10483 public ExprContext expr() {
10484 return getRuleContext(ExprContext.class,0);
10485 }
10486 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10487 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
10488 public TerminalNode NUMBER_(int i) {
10489 return getToken(SQLServerStatementParser.NUMBER_, i);
10490 }
10491 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10492 public ConvertExprContext(ParserRuleContext parent, int invokingState) {
10493 super(parent, invokingState);
10494 }
10495 @Override public int getRuleIndex() { return RULE_convertExpr; }
10496 @Override
10497 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10498 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertExpr(this);
10499 else return visitor.visitChildren(this);
10500 }
10501 }
10502
10503 public final ConvertExprContext convertExpr() throws RecognitionException {
10504 ConvertExprContext _localctx = new ConvertExprContext(_ctx, getState());
10505 enterRule(_localctx, 182, RULE_convertExpr);
10506 int _la;
10507 try {
10508 enterOuterAlt(_localctx, 1);
10509 {
10510 setState(1923);
10511 match(CONVERT);
10512 {
10513 setState(1924);
10514 dataType();
10515 setState(1928);
10516 _errHandler.sync(this);
10517 _la = _input.LA(1);
10518 if (_la==LP_) {
10519 {
10520 setState(1925);
10521 match(LP_);
10522 setState(1926);
10523 match(NUMBER_);
10524 setState(1927);
10525 match(RP_);
10526 }
10527 }
10528
10529 setState(1930);
10530 match(COMMA_);
10531 setState(1931);
10532 expr(0);
10533 setState(1934);
10534 _errHandler.sync(this);
10535 switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) {
10536 case 1:
10537 {
10538 setState(1932);
10539 match(COMMA_);
10540 setState(1933);
10541 match(NUMBER_);
10542 }
10543 break;
10544 }
10545 }
10546 }
10547 }
10548 catch (RecognitionException re) {
10549 _localctx.exception = re;
10550 _errHandler.reportError(this, re);
10551 _errHandler.recover(this, re);
10552 }
10553 finally {
10554 exitRule();
10555 }
10556 return _localctx;
10557 }
10558
10559 public static class WindowFunctionContext extends ParserRuleContext {
10560 public Token funcName;
10561 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10562 public ExprContext expr() {
10563 return getRuleContext(ExprContext.class,0);
10564 }
10565 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10566 public OverClauseContext overClause() {
10567 return getRuleContext(OverClauseContext.class,0);
10568 }
10569 public TerminalNode FIRST_VALUE() { return getToken(SQLServerStatementParser.FIRST_VALUE, 0); }
10570 public TerminalNode LAST_VALUE() { return getToken(SQLServerStatementParser.LAST_VALUE, 0); }
10571 public NullTreatmentContext nullTreatment() {
10572 return getRuleContext(NullTreatmentContext.class,0);
10573 }
10574 public WindowFunctionContext(ParserRuleContext parent, int invokingState) {
10575 super(parent, invokingState);
10576 }
10577 @Override public int getRuleIndex() { return RULE_windowFunction; }
10578 @Override
10579 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10580 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFunction(this);
10581 else return visitor.visitChildren(this);
10582 }
10583 }
10584
10585 public final WindowFunctionContext windowFunction() throws RecognitionException {
10586 WindowFunctionContext _localctx = new WindowFunctionContext(_ctx, getState());
10587 enterRule(_localctx, 184, RULE_windowFunction);
10588 int _la;
10589 try {
10590 enterOuterAlt(_localctx, 1);
10591 {
10592 setState(1936);
10593 ((WindowFunctionContext)_localctx).funcName = _input.LT(1);
10594 _la = _input.LA(1);
10595 if ( !(_la==FIRST_VALUE || _la==LAST_VALUE) ) {
10596 ((WindowFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
10597 }
10598 else {
10599 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10600 _errHandler.reportMatch(this);
10601 consume();
10602 }
10603 setState(1937);
10604 match(LP_);
10605 setState(1938);
10606 expr(0);
10607 setState(1939);
10608 match(RP_);
10609 setState(1941);
10610 _errHandler.sync(this);
10611 _la = _input.LA(1);
10612 if (_la==RESPECT || _la==IGNORE) {
10613 {
10614 setState(1940);
10615 nullTreatment();
10616 }
10617 }
10618
10619 setState(1943);
10620 overClause();
10621 }
10622 }
10623 catch (RecognitionException re) {
10624 _localctx.exception = re;
10625 _errHandler.reportError(this, re);
10626 _errHandler.recover(this, re);
10627 }
10628 finally {
10629 exitRule();
10630 }
10631 return _localctx;
10632 }
10633
10634 public static class NullTreatmentContext extends ParserRuleContext {
10635 public TerminalNode NULLS() { return getToken(SQLServerStatementParser.NULLS, 0); }
10636 public TerminalNode RESPECT() { return getToken(SQLServerStatementParser.RESPECT, 0); }
10637 public TerminalNode IGNORE() { return getToken(SQLServerStatementParser.IGNORE, 0); }
10638 public NullTreatmentContext(ParserRuleContext parent, int invokingState) {
10639 super(parent, invokingState);
10640 }
10641 @Override public int getRuleIndex() { return RULE_nullTreatment; }
10642 @Override
10643 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10644 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullTreatment(this);
10645 else return visitor.visitChildren(this);
10646 }
10647 }
10648
10649 public final NullTreatmentContext nullTreatment() throws RecognitionException {
10650 NullTreatmentContext _localctx = new NullTreatmentContext(_ctx, getState());
10651 enterRule(_localctx, 186, RULE_nullTreatment);
10652 int _la;
10653 try {
10654 enterOuterAlt(_localctx, 1);
10655 {
10656 setState(1945);
10657 _la = _input.LA(1);
10658 if ( !(_la==RESPECT || _la==IGNORE) ) {
10659 _errHandler.recoverInline(this);
10660 }
10661 else {
10662 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10663 _errHandler.reportMatch(this);
10664 consume();
10665 }
10666 setState(1946);
10667 match(NULLS);
10668 }
10669 }
10670 catch (RecognitionException re) {
10671 _localctx.exception = re;
10672 _errHandler.reportError(this, re);
10673 _errHandler.recover(this, re);
10674 }
10675 finally {
10676 exitRule();
10677 }
10678 return _localctx;
10679 }
10680
10681 public static class OverClauseContext extends ParserRuleContext {
10682 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
10683 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10684 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10685 public PartitionByClauseContext partitionByClause() {
10686 return getRuleContext(PartitionByClauseContext.class,0);
10687 }
10688 public OrderByClauseContext orderByClause() {
10689 return getRuleContext(OrderByClauseContext.class,0);
10690 }
10691 public RowRangeClauseContext rowRangeClause() {
10692 return getRuleContext(RowRangeClauseContext.class,0);
10693 }
10694 public OverClauseContext(ParserRuleContext parent, int invokingState) {
10695 super(parent, invokingState);
10696 }
10697 @Override public int getRuleIndex() { return RULE_overClause; }
10698 @Override
10699 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10700 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOverClause(this);
10701 else return visitor.visitChildren(this);
10702 }
10703 }
10704
10705 public final OverClauseContext overClause() throws RecognitionException {
10706 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
10707 enterRule(_localctx, 188, RULE_overClause);
10708 int _la;
10709 try {
10710 enterOuterAlt(_localctx, 1);
10711 {
10712 setState(1948);
10713 match(OVER);
10714 setState(1949);
10715 match(LP_);
10716 setState(1951);
10717 _errHandler.sync(this);
10718 _la = _input.LA(1);
10719 if (_la==PARTITION) {
10720 {
10721 setState(1950);
10722 partitionByClause();
10723 }
10724 }
10725
10726 setState(1954);
10727 _errHandler.sync(this);
10728 _la = _input.LA(1);
10729 if (_la==ORDER) {
10730 {
10731 setState(1953);
10732 orderByClause();
10733 }
10734 }
10735
10736 setState(1957);
10737 _errHandler.sync(this);
10738 _la = _input.LA(1);
10739 if (_la==ROWS || _la==RANGE) {
10740 {
10741 setState(1956);
10742 rowRangeClause();
10743 }
10744 }
10745
10746 setState(1959);
10747 match(RP_);
10748 }
10749 }
10750 catch (RecognitionException re) {
10751 _localctx.exception = re;
10752 _errHandler.reportError(this, re);
10753 _errHandler.recover(this, re);
10754 }
10755 finally {
10756 exitRule();
10757 }
10758 return _localctx;
10759 }
10760
10761 public static class PartitionByClauseContext extends ParserRuleContext {
10762 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
10763 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
10764 public List<ExprContext> expr() {
10765 return getRuleContexts(ExprContext.class);
10766 }
10767 public ExprContext expr(int i) {
10768 return getRuleContext(ExprContext.class,i);
10769 }
10770 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10771 public TerminalNode COMMA_(int i) {
10772 return getToken(SQLServerStatementParser.COMMA_, i);
10773 }
10774 public PartitionByClauseContext(ParserRuleContext parent, int invokingState) {
10775 super(parent, invokingState);
10776 }
10777 @Override public int getRuleIndex() { return RULE_partitionByClause; }
10778 @Override
10779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionByClause(this);
10781 else return visitor.visitChildren(this);
10782 }
10783 }
10784
10785 public final PartitionByClauseContext partitionByClause() throws RecognitionException {
10786 PartitionByClauseContext _localctx = new PartitionByClauseContext(_ctx, getState());
10787 enterRule(_localctx, 190, RULE_partitionByClause);
10788 int _la;
10789 try {
10790 enterOuterAlt(_localctx, 1);
10791 {
10792 setState(1961);
10793 match(PARTITION);
10794 setState(1962);
10795 match(BY);
10796 setState(1963);
10797 expr(0);
10798 setState(1968);
10799 _errHandler.sync(this);
10800 _la = _input.LA(1);
10801 while (_la==COMMA_) {
10802 {
10803 {
10804 setState(1964);
10805 match(COMMA_);
10806 setState(1965);
10807 expr(0);
10808 }
10809 }
10810 setState(1970);
10811 _errHandler.sync(this);
10812 _la = _input.LA(1);
10813 }
10814 }
10815 }
10816 catch (RecognitionException re) {
10817 _localctx.exception = re;
10818 _errHandler.reportError(this, re);
10819 _errHandler.recover(this, re);
10820 }
10821 finally {
10822 exitRule();
10823 }
10824 return _localctx;
10825 }
10826
10827 public static class RowRangeClauseContext extends ParserRuleContext {
10828 public WindowFrameExtentContext windowFrameExtent() {
10829 return getRuleContext(WindowFrameExtentContext.class,0);
10830 }
10831 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
10832 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
10833 public RowRangeClauseContext(ParserRuleContext parent, int invokingState) {
10834 super(parent, invokingState);
10835 }
10836 @Override public int getRuleIndex() { return RULE_rowRangeClause; }
10837 @Override
10838 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10839 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRowRangeClause(this);
10840 else return visitor.visitChildren(this);
10841 }
10842 }
10843
10844 public final RowRangeClauseContext rowRangeClause() throws RecognitionException {
10845 RowRangeClauseContext _localctx = new RowRangeClauseContext(_ctx, getState());
10846 enterRule(_localctx, 192, RULE_rowRangeClause);
10847 int _la;
10848 try {
10849 enterOuterAlt(_localctx, 1);
10850 {
10851 setState(1971);
10852 _la = _input.LA(1);
10853 if ( !(_la==ROWS || _la==RANGE) ) {
10854 _errHandler.recoverInline(this);
10855 }
10856 else {
10857 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10858 _errHandler.reportMatch(this);
10859 consume();
10860 }
10861 setState(1972);
10862 windowFrameExtent();
10863 }
10864 }
10865 catch (RecognitionException re) {
10866 _localctx.exception = re;
10867 _errHandler.reportError(this, re);
10868 _errHandler.recover(this, re);
10869 }
10870 finally {
10871 exitRule();
10872 }
10873 return _localctx;
10874 }
10875
10876 public static class WindowFrameExtentContext extends ParserRuleContext {
10877 public WindowFramePrecedingContext windowFramePreceding() {
10878 return getRuleContext(WindowFramePrecedingContext.class,0);
10879 }
10880 public WindowFrameBetweenContext windowFrameBetween() {
10881 return getRuleContext(WindowFrameBetweenContext.class,0);
10882 }
10883 public WindowFrameExtentContext(ParserRuleContext parent, int invokingState) {
10884 super(parent, invokingState);
10885 }
10886 @Override public int getRuleIndex() { return RULE_windowFrameExtent; }
10887 @Override
10888 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10889 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameExtent(this);
10890 else return visitor.visitChildren(this);
10891 }
10892 }
10893
10894 public final WindowFrameExtentContext windowFrameExtent() throws RecognitionException {
10895 WindowFrameExtentContext _localctx = new WindowFrameExtentContext(_ctx, getState());
10896 enterRule(_localctx, 194, RULE_windowFrameExtent);
10897 try {
10898 setState(1976);
10899 _errHandler.sync(this);
10900 switch (_input.LA(1)) {
10901 case CURRENT:
10902 case UNBOUNDED:
10903 case NUMBER_:
10904 enterOuterAlt(_localctx, 1);
10905 {
10906 setState(1974);
10907 windowFramePreceding();
10908 }
10909 break;
10910 case BETWEEN:
10911 enterOuterAlt(_localctx, 2);
10912 {
10913 setState(1975);
10914 windowFrameBetween();
10915 }
10916 break;
10917 default:
10918 throw new NoViableAltException(this);
10919 }
10920 }
10921 catch (RecognitionException re) {
10922 _localctx.exception = re;
10923 _errHandler.reportError(this, re);
10924 _errHandler.recover(this, re);
10925 }
10926 finally {
10927 exitRule();
10928 }
10929 return _localctx;
10930 }
10931
10932 public static class WindowFrameBetweenContext extends ParserRuleContext {
10933 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
10934 public List<WindowFrameBoundContext> windowFrameBound() {
10935 return getRuleContexts(WindowFrameBoundContext.class);
10936 }
10937 public WindowFrameBoundContext windowFrameBound(int i) {
10938 return getRuleContext(WindowFrameBoundContext.class,i);
10939 }
10940 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
10941 public WindowFrameBetweenContext(ParserRuleContext parent, int invokingState) {
10942 super(parent, invokingState);
10943 }
10944 @Override public int getRuleIndex() { return RULE_windowFrameBetween; }
10945 @Override
10946 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10947 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBetween(this);
10948 else return visitor.visitChildren(this);
10949 }
10950 }
10951
10952 public final WindowFrameBetweenContext windowFrameBetween() throws RecognitionException {
10953 WindowFrameBetweenContext _localctx = new WindowFrameBetweenContext(_ctx, getState());
10954 enterRule(_localctx, 196, RULE_windowFrameBetween);
10955 try {
10956 enterOuterAlt(_localctx, 1);
10957 {
10958 setState(1978);
10959 match(BETWEEN);
10960 setState(1979);
10961 windowFrameBound();
10962 setState(1980);
10963 match(AND);
10964 setState(1981);
10965 windowFrameBound();
10966 }
10967 }
10968 catch (RecognitionException re) {
10969 _localctx.exception = re;
10970 _errHandler.reportError(this, re);
10971 _errHandler.recover(this, re);
10972 }
10973 finally {
10974 exitRule();
10975 }
10976 return _localctx;
10977 }
10978
10979 public static class WindowFrameBoundContext extends ParserRuleContext {
10980 public WindowFramePrecedingContext windowFramePreceding() {
10981 return getRuleContext(WindowFramePrecedingContext.class,0);
10982 }
10983 public WindowFrameFollowingContext windowFrameFollowing() {
10984 return getRuleContext(WindowFrameFollowingContext.class,0);
10985 }
10986 public WindowFrameBoundContext(ParserRuleContext parent, int invokingState) {
10987 super(parent, invokingState);
10988 }
10989 @Override public int getRuleIndex() { return RULE_windowFrameBound; }
10990 @Override
10991 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10992 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBound(this);
10993 else return visitor.visitChildren(this);
10994 }
10995 }
10996
10997 public final WindowFrameBoundContext windowFrameBound() throws RecognitionException {
10998 WindowFrameBoundContext _localctx = new WindowFrameBoundContext(_ctx, getState());
10999 enterRule(_localctx, 198, RULE_windowFrameBound);
11000 try {
11001 setState(1985);
11002 _errHandler.sync(this);
11003 switch ( getInterpreter().adaptivePredict(_input,121,_ctx) ) {
11004 case 1:
11005 enterOuterAlt(_localctx, 1);
11006 {
11007 setState(1983);
11008 windowFramePreceding();
11009 }
11010 break;
11011 case 2:
11012 enterOuterAlt(_localctx, 2);
11013 {
11014 setState(1984);
11015 windowFrameFollowing();
11016 }
11017 break;
11018 }
11019 }
11020 catch (RecognitionException re) {
11021 _localctx.exception = re;
11022 _errHandler.reportError(this, re);
11023 _errHandler.recover(this, re);
11024 }
11025 finally {
11026 exitRule();
11027 }
11028 return _localctx;
11029 }
11030
11031 public static class WindowFramePrecedingContext extends ParserRuleContext {
11032 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
11033 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
11034 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11035 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
11036 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
11037 public WindowFramePrecedingContext(ParserRuleContext parent, int invokingState) {
11038 super(parent, invokingState);
11039 }
11040 @Override public int getRuleIndex() { return RULE_windowFramePreceding; }
11041 @Override
11042 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11043 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFramePreceding(this);
11044 else return visitor.visitChildren(this);
11045 }
11046 }
11047
11048 public final WindowFramePrecedingContext windowFramePreceding() throws RecognitionException {
11049 WindowFramePrecedingContext _localctx = new WindowFramePrecedingContext(_ctx, getState());
11050 enterRule(_localctx, 200, RULE_windowFramePreceding);
11051 try {
11052 setState(1993);
11053 _errHandler.sync(this);
11054 switch (_input.LA(1)) {
11055 case UNBOUNDED:
11056 enterOuterAlt(_localctx, 1);
11057 {
11058 setState(1987);
11059 match(UNBOUNDED);
11060 setState(1988);
11061 match(PRECEDING);
11062 }
11063 break;
11064 case NUMBER_:
11065 enterOuterAlt(_localctx, 2);
11066 {
11067 setState(1989);
11068 match(NUMBER_);
11069 setState(1990);
11070 match(PRECEDING);
11071 }
11072 break;
11073 case CURRENT:
11074 enterOuterAlt(_localctx, 3);
11075 {
11076 setState(1991);
11077 match(CURRENT);
11078 setState(1992);
11079 match(ROW);
11080 }
11081 break;
11082 default:
11083 throw new NoViableAltException(this);
11084 }
11085 }
11086 catch (RecognitionException re) {
11087 _localctx.exception = re;
11088 _errHandler.reportError(this, re);
11089 _errHandler.recover(this, re);
11090 }
11091 finally {
11092 exitRule();
11093 }
11094 return _localctx;
11095 }
11096
11097 public static class WindowFrameFollowingContext extends ParserRuleContext {
11098 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
11099 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
11100 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11101 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
11102 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
11103 public WindowFrameFollowingContext(ParserRuleContext parent, int invokingState) {
11104 super(parent, invokingState);
11105 }
11106 @Override public int getRuleIndex() { return RULE_windowFrameFollowing; }
11107 @Override
11108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameFollowing(this);
11110 else return visitor.visitChildren(this);
11111 }
11112 }
11113
11114 public final WindowFrameFollowingContext windowFrameFollowing() throws RecognitionException {
11115 WindowFrameFollowingContext _localctx = new WindowFrameFollowingContext(_ctx, getState());
11116 enterRule(_localctx, 202, RULE_windowFrameFollowing);
11117 try {
11118 setState(2001);
11119 _errHandler.sync(this);
11120 switch (_input.LA(1)) {
11121 case UNBOUNDED:
11122 enterOuterAlt(_localctx, 1);
11123 {
11124 setState(1995);
11125 match(UNBOUNDED);
11126 setState(1996);
11127 match(FOLLOWING);
11128 }
11129 break;
11130 case NUMBER_:
11131 enterOuterAlt(_localctx, 2);
11132 {
11133 setState(1997);
11134 match(NUMBER_);
11135 setState(1998);
11136 match(FOLLOWING);
11137 }
11138 break;
11139 case CURRENT:
11140 enterOuterAlt(_localctx, 3);
11141 {
11142 setState(1999);
11143 match(CURRENT);
11144 setState(2000);
11145 match(ROW);
11146 }
11147 break;
11148 default:
11149 throw new NoViableAltException(this);
11150 }
11151 }
11152 catch (RecognitionException re) {
11153 _localctx.exception = re;
11154 _errHandler.reportError(this, re);
11155 _errHandler.recover(this, re);
11156 }
11157 finally {
11158 exitRule();
11159 }
11160 return _localctx;
11161 }
11162
11163 public static class ColumnNameWithSortContext extends ParserRuleContext {
11164 public ColumnNameContext columnName() {
11165 return getRuleContext(ColumnNameContext.class,0);
11166 }
11167 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
11168 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
11169 public ColumnNameWithSortContext(ParserRuleContext parent, int invokingState) {
11170 super(parent, invokingState);
11171 }
11172 @Override public int getRuleIndex() { return RULE_columnNameWithSort; }
11173 @Override
11174 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11175 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNameWithSort(this);
11176 else return visitor.visitChildren(this);
11177 }
11178 }
11179
11180 public final ColumnNameWithSortContext columnNameWithSort() throws RecognitionException {
11181 ColumnNameWithSortContext _localctx = new ColumnNameWithSortContext(_ctx, getState());
11182 enterRule(_localctx, 204, RULE_columnNameWithSort);
11183 int _la;
11184 try {
11185 enterOuterAlt(_localctx, 1);
11186 {
11187 setState(2003);
11188 columnName();
11189 setState(2005);
11190 _errHandler.sync(this);
11191 _la = _input.LA(1);
11192 if (_la==ASC || _la==DESC) {
11193 {
11194 setState(2004);
11195 _la = _input.LA(1);
11196 if ( !(_la==ASC || _la==DESC) ) {
11197 _errHandler.recoverInline(this);
11198 }
11199 else {
11200 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11201 _errHandler.reportMatch(this);
11202 consume();
11203 }
11204 }
11205 }
11206
11207 }
11208 }
11209 catch (RecognitionException re) {
11210 _localctx.exception = re;
11211 _errHandler.reportError(this, re);
11212 _errHandler.recover(this, re);
11213 }
11214 finally {
11215 exitRule();
11216 }
11217 return _localctx;
11218 }
11219
11220 public static class IndexOptionContext extends ParserRuleContext {
11221 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
11222 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11223 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11224 public EqOnOffOptionContext eqOnOffOption() {
11225 return getRuleContext(EqOnOffOptionContext.class,0);
11226 }
11227 public EqTimeContext eqTime() {
11228 return getRuleContext(EqTimeContext.class,0);
11229 }
11230 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
11231 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
11232 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
11233 public CompressionOptionContext compressionOption() {
11234 return getRuleContext(CompressionOptionContext.class,0);
11235 }
11236 public OnPartitionClauseContext onPartitionClause() {
11237 return getRuleContext(OnPartitionClauseContext.class,0);
11238 }
11239 public IndexOptionContext(ParserRuleContext parent, int invokingState) {
11240 super(parent, invokingState);
11241 }
11242 @Override public int getRuleIndex() { return RULE_indexOption; }
11243 @Override
11244 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11245 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOption(this);
11246 else return visitor.visitChildren(this);
11247 }
11248 }
11249
11250 public final IndexOptionContext indexOption() throws RecognitionException {
11251 IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
11252 enterRule(_localctx, 206, RULE_indexOption);
11253 int _la;
11254 try {
11255 setState(2020);
11256 _errHandler.sync(this);
11257 switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) {
11258 case 1:
11259 enterOuterAlt(_localctx, 1);
11260 {
11261 setState(2007);
11262 match(FILLFACTOR);
11263 setState(2008);
11264 match(EQ_);
11265 setState(2009);
11266 match(NUMBER_);
11267 }
11268 break;
11269 case 2:
11270 enterOuterAlt(_localctx, 2);
11271 {
11272 setState(2010);
11273 eqOnOffOption();
11274 }
11275 break;
11276 case 3:
11277 enterOuterAlt(_localctx, 3);
11278 {
11279 setState(2011);
11280 _la = _input.LA(1);
11281 if ( !(_la==COMPRESSION_DELAY || _la==MAX_DURATION) ) {
11282 _errHandler.recoverInline(this);
11283 }
11284 else {
11285 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11286 _errHandler.reportMatch(this);
11287 consume();
11288 }
11289 setState(2012);
11290 eqTime();
11291 }
11292 break;
11293 case 4:
11294 enterOuterAlt(_localctx, 4);
11295 {
11296 setState(2013);
11297 match(MAXDOP);
11298 setState(2014);
11299 match(EQ_);
11300 setState(2015);
11301 match(NUMBER_);
11302 }
11303 break;
11304 case 5:
11305 enterOuterAlt(_localctx, 5);
11306 {
11307 setState(2016);
11308 compressionOption();
11309 setState(2018);
11310 _errHandler.sync(this);
11311 _la = _input.LA(1);
11312 if (_la==ON) {
11313 {
11314 setState(2017);
11315 onPartitionClause();
11316 }
11317 }
11318
11319 }
11320 break;
11321 }
11322 }
11323 catch (RecognitionException re) {
11324 _localctx.exception = re;
11325 _errHandler.reportError(this, re);
11326 _errHandler.recover(this, re);
11327 }
11328 finally {
11329 exitRule();
11330 }
11331 return _localctx;
11332 }
11333
11334 public static class CompressionOptionContext extends ParserRuleContext {
11335 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
11336 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11337 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
11338 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
11339 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
11340 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
11341 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
11342 public CompressionOptionContext(ParserRuleContext parent, int invokingState) {
11343 super(parent, invokingState);
11344 }
11345 @Override public int getRuleIndex() { return RULE_compressionOption; }
11346 @Override
11347 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11348 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompressionOption(this);
11349 else return visitor.visitChildren(this);
11350 }
11351 }
11352
11353 public final CompressionOptionContext compressionOption() throws RecognitionException {
11354 CompressionOptionContext _localctx = new CompressionOptionContext(_ctx, getState());
11355 enterRule(_localctx, 208, RULE_compressionOption);
11356 int _la;
11357 try {
11358 enterOuterAlt(_localctx, 1);
11359 {
11360 setState(2022);
11361 match(DATA_COMPRESSION);
11362 setState(2023);
11363 match(EQ_);
11364 setState(2024);
11365 _la = _input.LA(1);
11366 if ( !(((((_la - 249)) & ~0x3f) == 0 && ((1L << (_la - 249)) & ((1L << (ROW - 249)) | (1L << (COLUMNSTORE - 249)) | (1L << (NONE - 249)) | (1L << (PAGE - 249)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
11367 _errHandler.recoverInline(this);
11368 }
11369 else {
11370 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11371 _errHandler.reportMatch(this);
11372 consume();
11373 }
11374 }
11375 }
11376 catch (RecognitionException re) {
11377 _localctx.exception = re;
11378 _errHandler.reportError(this, re);
11379 _errHandler.recover(this, re);
11380 }
11381 finally {
11382 exitRule();
11383 }
11384 return _localctx;
11385 }
11386
11387 public static class EqTimeContext extends ParserRuleContext {
11388 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11389 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11390 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
11391 public EqTimeContext(ParserRuleContext parent, int invokingState) {
11392 super(parent, invokingState);
11393 }
11394 @Override public int getRuleIndex() { return RULE_eqTime; }
11395 @Override
11396 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11397 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqTime(this);
11398 else return visitor.visitChildren(this);
11399 }
11400 }
11401
11402 public final EqTimeContext eqTime() throws RecognitionException {
11403 EqTimeContext _localctx = new EqTimeContext(_ctx, getState());
11404 enterRule(_localctx, 210, RULE_eqTime);
11405 int _la;
11406 try {
11407 enterOuterAlt(_localctx, 1);
11408 {
11409 setState(2026);
11410 match(EQ_);
11411 setState(2027);
11412 match(NUMBER_);
11413 setState(2029);
11414 _errHandler.sync(this);
11415 _la = _input.LA(1);
11416 if (_la==MINUTES) {
11417 {
11418 setState(2028);
11419 match(MINUTES);
11420 }
11421 }
11422
11423 }
11424 }
11425 catch (RecognitionException re) {
11426 _localctx.exception = re;
11427 _errHandler.reportError(this, re);
11428 _errHandler.recover(this, re);
11429 }
11430 finally {
11431 exitRule();
11432 }
11433 return _localctx;
11434 }
11435
11436 public static class EqOnOffOptionContext extends ParserRuleContext {
11437 public EqKeyContext eqKey() {
11438 return getRuleContext(EqKeyContext.class,0);
11439 }
11440 public EqOnOffContext eqOnOff() {
11441 return getRuleContext(EqOnOffContext.class,0);
11442 }
11443 public EqOnOffOptionContext(ParserRuleContext parent, int invokingState) {
11444 super(parent, invokingState);
11445 }
11446 @Override public int getRuleIndex() { return RULE_eqOnOffOption; }
11447 @Override
11448 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11449 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOffOption(this);
11450 else return visitor.visitChildren(this);
11451 }
11452 }
11453
11454 public final EqOnOffOptionContext eqOnOffOption() throws RecognitionException {
11455 EqOnOffOptionContext _localctx = new EqOnOffOptionContext(_ctx, getState());
11456 enterRule(_localctx, 212, RULE_eqOnOffOption);
11457 try {
11458 enterOuterAlt(_localctx, 1);
11459 {
11460 setState(2031);
11461 eqKey();
11462 setState(2032);
11463 eqOnOff();
11464 }
11465 }
11466 catch (RecognitionException re) {
11467 _localctx.exception = re;
11468 _errHandler.reportError(this, re);
11469 _errHandler.recover(this, re);
11470 }
11471 finally {
11472 exitRule();
11473 }
11474 return _localctx;
11475 }
11476
11477 public static class EqKeyContext extends ParserRuleContext {
11478 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
11479 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
11480 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
11481 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
11482 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
11483 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
11484 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
11485 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
11486 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
11487 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
11488 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
11489 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
11490 public EqKeyContext(ParserRuleContext parent, int invokingState) {
11491 super(parent, invokingState);
11492 }
11493 @Override public int getRuleIndex() { return RULE_eqKey; }
11494 @Override
11495 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11496 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqKey(this);
11497 else return visitor.visitChildren(this);
11498 }
11499 }
11500
11501 public final EqKeyContext eqKey() throws RecognitionException {
11502 EqKeyContext _localctx = new EqKeyContext(_ctx, getState());
11503 enterRule(_localctx, 214, RULE_eqKey);
11504 int _la;
11505 try {
11506 enterOuterAlt(_localctx, 1);
11507 {
11508 setState(2034);
11509 _la = _input.LA(1);
11510 if ( !(_la==ONLINE || _la==RESUMABLE || ((((_la - 406)) & ~0x3f) == 0 && ((1L << (_la - 406)) & ((1L << (ALLOW_PAGE_LOCKS - 406)) | (1L << (ALLOW_ROW_LOCKS - 406)) | (1L << (COMPRESSION_DELAY - 406)) | (1L << (STATISTICS_INCREMENTAL - 406)) | (1L << (STATISTICS_NORECOMPUTE - 406)) | (1L << (SORT_IN_TEMPDB - 406)) | (1L << (IGNORE_DUP_KEY - 406)) | (1L << (PAD_INDEX - 406)) | (1L << (DROP_EXISTING - 406)))) != 0) || _la==OPTIMIZE_FOR_SEQUENTIAL_KEY) ) {
11511 _errHandler.recoverInline(this);
11512 }
11513 else {
11514 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11515 _errHandler.reportMatch(this);
11516 consume();
11517 }
11518 }
11519 }
11520 catch (RecognitionException re) {
11521 _localctx.exception = re;
11522 _errHandler.reportError(this, re);
11523 _errHandler.recover(this, re);
11524 }
11525 finally {
11526 exitRule();
11527 }
11528 return _localctx;
11529 }
11530
11531 public static class EqOnOffContext extends ParserRuleContext {
11532 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11533 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11534 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
11535 public EqOnOffContext(ParserRuleContext parent, int invokingState) {
11536 super(parent, invokingState);
11537 }
11538 @Override public int getRuleIndex() { return RULE_eqOnOff; }
11539 @Override
11540 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11541 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOff(this);
11542 else return visitor.visitChildren(this);
11543 }
11544 }
11545
11546 public final EqOnOffContext eqOnOff() throws RecognitionException {
11547 EqOnOffContext _localctx = new EqOnOffContext(_ctx, getState());
11548 enterRule(_localctx, 216, RULE_eqOnOff);
11549 int _la;
11550 try {
11551 enterOuterAlt(_localctx, 1);
11552 {
11553 setState(2036);
11554 match(EQ_);
11555 setState(2037);
11556 _la = _input.LA(1);
11557 if ( !(_la==ON || _la==OFF) ) {
11558 _errHandler.recoverInline(this);
11559 }
11560 else {
11561 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11562 _errHandler.reportMatch(this);
11563 consume();
11564 }
11565 }
11566 }
11567 catch (RecognitionException re) {
11568 _localctx.exception = re;
11569 _errHandler.reportError(this, re);
11570 _errHandler.recover(this, re);
11571 }
11572 finally {
11573 exitRule();
11574 }
11575 return _localctx;
11576 }
11577
11578 public static class OnPartitionClauseContext extends ParserRuleContext {
11579 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11580 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
11581 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11582 public PartitionExpressionsContext partitionExpressions() {
11583 return getRuleContext(PartitionExpressionsContext.class,0);
11584 }
11585 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11586 public OnPartitionClauseContext(ParserRuleContext parent, int invokingState) {
11587 super(parent, invokingState);
11588 }
11589 @Override public int getRuleIndex() { return RULE_onPartitionClause; }
11590 @Override
11591 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11592 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnPartitionClause(this);
11593 else return visitor.visitChildren(this);
11594 }
11595 }
11596
11597 public final OnPartitionClauseContext onPartitionClause() throws RecognitionException {
11598 OnPartitionClauseContext _localctx = new OnPartitionClauseContext(_ctx, getState());
11599 enterRule(_localctx, 218, RULE_onPartitionClause);
11600 try {
11601 enterOuterAlt(_localctx, 1);
11602 {
11603 setState(2039);
11604 match(ON);
11605 setState(2040);
11606 match(PARTITIONS);
11607 setState(2041);
11608 match(LP_);
11609 setState(2042);
11610 partitionExpressions();
11611 setState(2043);
11612 match(RP_);
11613 }
11614 }
11615 catch (RecognitionException re) {
11616 _localctx.exception = re;
11617 _errHandler.reportError(this, re);
11618 _errHandler.recover(this, re);
11619 }
11620 finally {
11621 exitRule();
11622 }
11623 return _localctx;
11624 }
11625
11626 public static class PartitionExpressionsContext extends ParserRuleContext {
11627 public List<PartitionExpressionContext> partitionExpression() {
11628 return getRuleContexts(PartitionExpressionContext.class);
11629 }
11630 public PartitionExpressionContext partitionExpression(int i) {
11631 return getRuleContext(PartitionExpressionContext.class,i);
11632 }
11633 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11634 public TerminalNode COMMA_(int i) {
11635 return getToken(SQLServerStatementParser.COMMA_, i);
11636 }
11637 public PartitionExpressionsContext(ParserRuleContext parent, int invokingState) {
11638 super(parent, invokingState);
11639 }
11640 @Override public int getRuleIndex() { return RULE_partitionExpressions; }
11641 @Override
11642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpressions(this);
11644 else return visitor.visitChildren(this);
11645 }
11646 }
11647
11648 public final PartitionExpressionsContext partitionExpressions() throws RecognitionException {
11649 PartitionExpressionsContext _localctx = new PartitionExpressionsContext(_ctx, getState());
11650 enterRule(_localctx, 220, RULE_partitionExpressions);
11651 int _la;
11652 try {
11653 enterOuterAlt(_localctx, 1);
11654 {
11655 setState(2045);
11656 partitionExpression();
11657 setState(2050);
11658 _errHandler.sync(this);
11659 _la = _input.LA(1);
11660 while (_la==COMMA_) {
11661 {
11662 {
11663 setState(2046);
11664 match(COMMA_);
11665 setState(2047);
11666 partitionExpression();
11667 }
11668 }
11669 setState(2052);
11670 _errHandler.sync(this);
11671 _la = _input.LA(1);
11672 }
11673 }
11674 }
11675 catch (RecognitionException re) {
11676 _localctx.exception = re;
11677 _errHandler.reportError(this, re);
11678 _errHandler.recover(this, re);
11679 }
11680 finally {
11681 exitRule();
11682 }
11683 return _localctx;
11684 }
11685
11686 public static class PartitionExpressionContext extends ParserRuleContext {
11687 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11688 public NumberRangeContext numberRange() {
11689 return getRuleContext(NumberRangeContext.class,0);
11690 }
11691 public PartitionExpressionContext(ParserRuleContext parent, int invokingState) {
11692 super(parent, invokingState);
11693 }
11694 @Override public int getRuleIndex() { return RULE_partitionExpression; }
11695 @Override
11696 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11697 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpression(this);
11698 else return visitor.visitChildren(this);
11699 }
11700 }
11701
11702 public final PartitionExpressionContext partitionExpression() throws RecognitionException {
11703 PartitionExpressionContext _localctx = new PartitionExpressionContext(_ctx, getState());
11704 enterRule(_localctx, 222, RULE_partitionExpression);
11705 try {
11706 setState(2055);
11707 _errHandler.sync(this);
11708 switch ( getInterpreter().adaptivePredict(_input,129,_ctx) ) {
11709 case 1:
11710 enterOuterAlt(_localctx, 1);
11711 {
11712 setState(2053);
11713 match(NUMBER_);
11714 }
11715 break;
11716 case 2:
11717 enterOuterAlt(_localctx, 2);
11718 {
11719 setState(2054);
11720 numberRange();
11721 }
11722 break;
11723 }
11724 }
11725 catch (RecognitionException re) {
11726 _localctx.exception = re;
11727 _errHandler.reportError(this, re);
11728 _errHandler.recover(this, re);
11729 }
11730 finally {
11731 exitRule();
11732 }
11733 return _localctx;
11734 }
11735
11736 public static class NumberRangeContext extends ParserRuleContext {
11737 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
11738 public TerminalNode NUMBER_(int i) {
11739 return getToken(SQLServerStatementParser.NUMBER_, i);
11740 }
11741 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
11742 public NumberRangeContext(ParserRuleContext parent, int invokingState) {
11743 super(parent, invokingState);
11744 }
11745 @Override public int getRuleIndex() { return RULE_numberRange; }
11746 @Override
11747 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11748 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberRange(this);
11749 else return visitor.visitChildren(this);
11750 }
11751 }
11752
11753 public final NumberRangeContext numberRange() throws RecognitionException {
11754 NumberRangeContext _localctx = new NumberRangeContext(_ctx, getState());
11755 enterRule(_localctx, 224, RULE_numberRange);
11756 try {
11757 enterOuterAlt(_localctx, 1);
11758 {
11759 setState(2057);
11760 match(NUMBER_);
11761 setState(2058);
11762 match(TO);
11763 setState(2059);
11764 match(NUMBER_);
11765 }
11766 }
11767 catch (RecognitionException re) {
11768 _localctx.exception = re;
11769 _errHandler.reportError(this, re);
11770 _errHandler.recover(this, re);
11771 }
11772 finally {
11773 exitRule();
11774 }
11775 return _localctx;
11776 }
11777
11778 public static class LowPriorityLockWaitContext extends ParserRuleContext {
11779 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
11780 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11781 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
11782 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
11783 public TerminalNode EQ_(int i) {
11784 return getToken(SQLServerStatementParser.EQ_, i);
11785 }
11786 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11787 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
11788 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
11789 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11790 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
11791 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
11792 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
11793 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
11794 public LowPriorityLockWaitContext(ParserRuleContext parent, int invokingState) {
11795 super(parent, invokingState);
11796 }
11797 @Override public int getRuleIndex() { return RULE_lowPriorityLockWait; }
11798 @Override
11799 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11800 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLowPriorityLockWait(this);
11801 else return visitor.visitChildren(this);
11802 }
11803 }
11804
11805 public final LowPriorityLockWaitContext lowPriorityLockWait() throws RecognitionException {
11806 LowPriorityLockWaitContext _localctx = new LowPriorityLockWaitContext(_ctx, getState());
11807 enterRule(_localctx, 226, RULE_lowPriorityLockWait);
11808 int _la;
11809 try {
11810 enterOuterAlt(_localctx, 1);
11811 {
11812 setState(2061);
11813 match(WAIT_AT_LOW_PRIORITY);
11814 setState(2062);
11815 match(LP_);
11816 setState(2063);
11817 match(MAX_DURATION);
11818 setState(2064);
11819 match(EQ_);
11820 setState(2065);
11821 match(NUMBER_);
11822 setState(2067);
11823 _errHandler.sync(this);
11824 _la = _input.LA(1);
11825 if (_la==MINUTES) {
11826 {
11827 setState(2066);
11828 match(MINUTES);
11829 }
11830 }
11831
11832 setState(2069);
11833 match(COMMA_);
11834 setState(2070);
11835 match(ABORT_AFTER_WAIT);
11836 setState(2071);
11837 match(EQ_);
11838 setState(2072);
11839 _la = _input.LA(1);
11840 if ( !(((((_la - 268)) & ~0x3f) == 0 && ((1L << (_la - 268)) & ((1L << (BLOCKERS - 268)) | (1L << (NONE - 268)) | (1L << (SELF - 268)))) != 0)) ) {
11841 _errHandler.recoverInline(this);
11842 }
11843 else {
11844 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11845 _errHandler.reportMatch(this);
11846 consume();
11847 }
11848 setState(2073);
11849 match(RP_);
11850 }
11851 }
11852 catch (RecognitionException re) {
11853 _localctx.exception = re;
11854 _errHandler.reportError(this, re);
11855 _errHandler.recover(this, re);
11856 }
11857 finally {
11858 exitRule();
11859 }
11860 return _localctx;
11861 }
11862
11863 public static class OnLowPriorLockWaitContext extends ParserRuleContext {
11864 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11865 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11866 public LowPriorityLockWaitContext lowPriorityLockWait() {
11867 return getRuleContext(LowPriorityLockWaitContext.class,0);
11868 }
11869 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11870 public OnLowPriorLockWaitContext(ParserRuleContext parent, int invokingState) {
11871 super(parent, invokingState);
11872 }
11873 @Override public int getRuleIndex() { return RULE_onLowPriorLockWait; }
11874 @Override
11875 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11876 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnLowPriorLockWait(this);
11877 else return visitor.visitChildren(this);
11878 }
11879 }
11880
11881 public final OnLowPriorLockWaitContext onLowPriorLockWait() throws RecognitionException {
11882 OnLowPriorLockWaitContext _localctx = new OnLowPriorLockWaitContext(_ctx, getState());
11883 enterRule(_localctx, 228, RULE_onLowPriorLockWait);
11884 int _la;
11885 try {
11886 enterOuterAlt(_localctx, 1);
11887 {
11888 setState(2075);
11889 match(ON);
11890 setState(2080);
11891 _errHandler.sync(this);
11892 _la = _input.LA(1);
11893 if (_la==LP_) {
11894 {
11895 setState(2076);
11896 match(LP_);
11897 setState(2077);
11898 lowPriorityLockWait();
11899 setState(2078);
11900 match(RP_);
11901 }
11902 }
11903
11904 }
11905 }
11906 catch (RecognitionException re) {
11907 _localctx.exception = re;
11908 _errHandler.reportError(this, re);
11909 _errHandler.recover(this, re);
11910 }
11911 finally {
11912 exitRule();
11913 }
11914 return _localctx;
11915 }
11916
11917 public static class IgnoredIdentifierContext extends ParserRuleContext {
11918 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
11919 public IgnoredIdentifierContext(ParserRuleContext parent, int invokingState) {
11920 super(parent, invokingState);
11921 }
11922 @Override public int getRuleIndex() { return RULE_ignoredIdentifier; }
11923 @Override
11924 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11925 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifier(this);
11926 else return visitor.visitChildren(this);
11927 }
11928 }
11929
11930 public final IgnoredIdentifierContext ignoredIdentifier() throws RecognitionException {
11931 IgnoredIdentifierContext _localctx = new IgnoredIdentifierContext(_ctx, getState());
11932 enterRule(_localctx, 230, RULE_ignoredIdentifier);
11933 try {
11934 enterOuterAlt(_localctx, 1);
11935 {
11936 setState(2082);
11937 match(IDENTIFIER_);
11938 }
11939 }
11940 catch (RecognitionException re) {
11941 _localctx.exception = re;
11942 _errHandler.reportError(this, re);
11943 _errHandler.recover(this, re);
11944 }
11945 finally {
11946 exitRule();
11947 }
11948 return _localctx;
11949 }
11950
11951 public static class IgnoredIdentifiersContext extends ParserRuleContext {
11952 public List<IgnoredIdentifierContext> ignoredIdentifier() {
11953 return getRuleContexts(IgnoredIdentifierContext.class);
11954 }
11955 public IgnoredIdentifierContext ignoredIdentifier(int i) {
11956 return getRuleContext(IgnoredIdentifierContext.class,i);
11957 }
11958 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11959 public TerminalNode COMMA_(int i) {
11960 return getToken(SQLServerStatementParser.COMMA_, i);
11961 }
11962 public IgnoredIdentifiersContext(ParserRuleContext parent, int invokingState) {
11963 super(parent, invokingState);
11964 }
11965 @Override public int getRuleIndex() { return RULE_ignoredIdentifiers; }
11966 @Override
11967 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11968 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifiers(this);
11969 else return visitor.visitChildren(this);
11970 }
11971 }
11972
11973 public final IgnoredIdentifiersContext ignoredIdentifiers() throws RecognitionException {
11974 IgnoredIdentifiersContext _localctx = new IgnoredIdentifiersContext(_ctx, getState());
11975 enterRule(_localctx, 232, RULE_ignoredIdentifiers);
11976 try {
11977 int _alt;
11978 enterOuterAlt(_localctx, 1);
11979 {
11980 setState(2084);
11981 ignoredIdentifier();
11982 setState(2089);
11983 _errHandler.sync(this);
11984 _alt = getInterpreter().adaptivePredict(_input,132,_ctx);
11985 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
11986 if ( _alt==1 ) {
11987 {
11988 {
11989 setState(2085);
11990 match(COMMA_);
11991 setState(2086);
11992 ignoredIdentifier();
11993 }
11994 }
11995 }
11996 setState(2091);
11997 _errHandler.sync(this);
11998 _alt = getInterpreter().adaptivePredict(_input,132,_ctx);
11999 }
12000 }
12001 }
12002 catch (RecognitionException re) {
12003 _localctx.exception = re;
12004 _errHandler.reportError(this, re);
12005 _errHandler.recover(this, re);
12006 }
12007 finally {
12008 exitRule();
12009 }
12010 return _localctx;
12011 }
12012
12013 public static class MatchNoneContext extends ParserRuleContext {
12014 public MatchNoneContext(ParserRuleContext parent, int invokingState) {
12015 super(parent, invokingState);
12016 }
12017 @Override public int getRuleIndex() { return RULE_matchNone; }
12018 @Override
12019 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12020 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMatchNone(this);
12021 else return visitor.visitChildren(this);
12022 }
12023 }
12024
12025 public final MatchNoneContext matchNone() throws RecognitionException {
12026 MatchNoneContext _localctx = new MatchNoneContext(_ctx, getState());
12027 enterRule(_localctx, 234, RULE_matchNone);
12028 try {
12029 enterOuterAlt(_localctx, 1);
12030 {
12031 setState(2092);
12032 match(T__0);
12033 }
12034 }
12035 catch (RecognitionException re) {
12036 _localctx.exception = re;
12037 _errHandler.reportError(this, re);
12038 _errHandler.recover(this, re);
12039 }
12040 finally {
12041 exitRule();
12042 }
12043 return _localctx;
12044 }
12045
12046 public static class VariableNameContext extends ParserRuleContext {
12047 public IdentifierContext identifier() {
12048 return getRuleContext(IdentifierContext.class,0);
12049 }
12050 public VariableNameContext(ParserRuleContext parent, int invokingState) {
12051 super(parent, invokingState);
12052 }
12053 @Override public int getRuleIndex() { return RULE_variableName; }
12054 @Override
12055 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12056 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableName(this);
12057 else return visitor.visitChildren(this);
12058 }
12059 }
12060
12061 public final VariableNameContext variableName() throws RecognitionException {
12062 VariableNameContext _localctx = new VariableNameContext(_ctx, getState());
12063 enterRule(_localctx, 236, RULE_variableName);
12064 try {
12065 enterOuterAlt(_localctx, 1);
12066 {
12067 setState(2094);
12068 identifier();
12069 }
12070 }
12071 catch (RecognitionException re) {
12072 _localctx.exception = re;
12073 _errHandler.reportError(this, re);
12074 _errHandler.recover(this, re);
12075 }
12076 finally {
12077 exitRule();
12078 }
12079 return _localctx;
12080 }
12081
12082 public static class ExecuteAsClauseContext extends ParserRuleContext {
12083 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
12084 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
12085 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
12086 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
12087 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
12088 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
12089 public StringLiteralsContext stringLiterals() {
12090 return getRuleContext(StringLiteralsContext.class,0);
12091 }
12092 public ExecuteAsClauseContext(ParserRuleContext parent, int invokingState) {
12093 super(parent, invokingState);
12094 }
12095 @Override public int getRuleIndex() { return RULE_executeAsClause; }
12096 @Override
12097 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12098 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecuteAsClause(this);
12099 else return visitor.visitChildren(this);
12100 }
12101 }
12102
12103 public final ExecuteAsClauseContext executeAsClause() throws RecognitionException {
12104 ExecuteAsClauseContext _localctx = new ExecuteAsClauseContext(_ctx, getState());
12105 enterRule(_localctx, 238, RULE_executeAsClause);
12106 int _la;
12107 try {
12108 enterOuterAlt(_localctx, 1);
12109 {
12110 setState(2096);
12111 _la = _input.LA(1);
12112 if ( !(_la==EXECUTE || _la==EXEC) ) {
12113 _errHandler.recoverInline(this);
12114 }
12115 else {
12116 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12117 _errHandler.reportMatch(this);
12118 consume();
12119 }
12120 setState(2097);
12121 match(AS);
12122 setState(2102);
12123 _errHandler.sync(this);
12124 switch (_input.LA(1)) {
12125 case CALLER:
12126 {
12127 setState(2098);
12128 match(CALLER);
12129 }
12130 break;
12131 case SELF:
12132 {
12133 setState(2099);
12134 match(SELF);
12135 }
12136 break;
12137 case OWNER:
12138 {
12139 setState(2100);
12140 match(OWNER);
12141 }
12142 break;
12143 case STRING_:
12144 case NCHAR_TEXT:
12145 {
12146 setState(2101);
12147 stringLiterals();
12148 }
12149 break;
12150 default:
12151 throw new NoViableAltException(this);
12152 }
12153 }
12154 }
12155 catch (RecognitionException re) {
12156 _localctx.exception = re;
12157 _errHandler.reportError(this, re);
12158 _errHandler.recover(this, re);
12159 }
12160 finally {
12161 exitRule();
12162 }
12163 return _localctx;
12164 }
12165
12166 public static class TransactionNameContext extends ParserRuleContext {
12167 public IdentifierContext identifier() {
12168 return getRuleContext(IdentifierContext.class,0);
12169 }
12170 public TransactionNameContext(ParserRuleContext parent, int invokingState) {
12171 super(parent, invokingState);
12172 }
12173 @Override public int getRuleIndex() { return RULE_transactionName; }
12174 @Override
12175 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12176 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionName(this);
12177 else return visitor.visitChildren(this);
12178 }
12179 }
12180
12181 public final TransactionNameContext transactionName() throws RecognitionException {
12182 TransactionNameContext _localctx = new TransactionNameContext(_ctx, getState());
12183 enterRule(_localctx, 240, RULE_transactionName);
12184 try {
12185 enterOuterAlt(_localctx, 1);
12186 {
12187 setState(2104);
12188 identifier();
12189 }
12190 }
12191 catch (RecognitionException re) {
12192 _localctx.exception = re;
12193 _errHandler.reportError(this, re);
12194 _errHandler.recover(this, re);
12195 }
12196 finally {
12197 exitRule();
12198 }
12199 return _localctx;
12200 }
12201
12202 public static class TransactionVariableNameContext extends ParserRuleContext {
12203 public VariableNameContext variableName() {
12204 return getRuleContext(VariableNameContext.class,0);
12205 }
12206 public TransactionVariableNameContext(ParserRuleContext parent, int invokingState) {
12207 super(parent, invokingState);
12208 }
12209 @Override public int getRuleIndex() { return RULE_transactionVariableName; }
12210 @Override
12211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionVariableName(this);
12213 else return visitor.visitChildren(this);
12214 }
12215 }
12216
12217 public final TransactionVariableNameContext transactionVariableName() throws RecognitionException {
12218 TransactionVariableNameContext _localctx = new TransactionVariableNameContext(_ctx, getState());
12219 enterRule(_localctx, 242, RULE_transactionVariableName);
12220 try {
12221 enterOuterAlt(_localctx, 1);
12222 {
12223 setState(2106);
12224 variableName();
12225 }
12226 }
12227 catch (RecognitionException re) {
12228 _localctx.exception = re;
12229 _errHandler.reportError(this, re);
12230 _errHandler.recover(this, re);
12231 }
12232 finally {
12233 exitRule();
12234 }
12235 return _localctx;
12236 }
12237
12238 public static class SavepointNameContext extends ParserRuleContext {
12239 public IdentifierContext identifier() {
12240 return getRuleContext(IdentifierContext.class,0);
12241 }
12242 public SavepointNameContext(ParserRuleContext parent, int invokingState) {
12243 super(parent, invokingState);
12244 }
12245 @Override public int getRuleIndex() { return RULE_savepointName; }
12246 @Override
12247 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12248 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointName(this);
12249 else return visitor.visitChildren(this);
12250 }
12251 }
12252
12253 public final SavepointNameContext savepointName() throws RecognitionException {
12254 SavepointNameContext _localctx = new SavepointNameContext(_ctx, getState());
12255 enterRule(_localctx, 244, RULE_savepointName);
12256 try {
12257 enterOuterAlt(_localctx, 1);
12258 {
12259 setState(2108);
12260 identifier();
12261 }
12262 }
12263 catch (RecognitionException re) {
12264 _localctx.exception = re;
12265 _errHandler.reportError(this, re);
12266 _errHandler.recover(this, re);
12267 }
12268 finally {
12269 exitRule();
12270 }
12271 return _localctx;
12272 }
12273
12274 public static class SavepointVariableNameContext extends ParserRuleContext {
12275 public VariableNameContext variableName() {
12276 return getRuleContext(VariableNameContext.class,0);
12277 }
12278 public SavepointVariableNameContext(ParserRuleContext parent, int invokingState) {
12279 super(parent, invokingState);
12280 }
12281 @Override public int getRuleIndex() { return RULE_savepointVariableName; }
12282 @Override
12283 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12284 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointVariableName(this);
12285 else return visitor.visitChildren(this);
12286 }
12287 }
12288
12289 public final SavepointVariableNameContext savepointVariableName() throws RecognitionException {
12290 SavepointVariableNameContext _localctx = new SavepointVariableNameContext(_ctx, getState());
12291 enterRule(_localctx, 246, RULE_savepointVariableName);
12292 try {
12293 enterOuterAlt(_localctx, 1);
12294 {
12295 setState(2110);
12296 variableName();
12297 }
12298 }
12299 catch (RecognitionException re) {
12300 _localctx.exception = re;
12301 _errHandler.reportError(this, re);
12302 _errHandler.recover(this, re);
12303 }
12304 finally {
12305 exitRule();
12306 }
12307 return _localctx;
12308 }
12309
12310 public static class EntityTypeContext extends ParserRuleContext {
12311 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
12312 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
12313 public EntityTypeContext(ParserRuleContext parent, int invokingState) {
12314 super(parent, invokingState);
12315 }
12316 @Override public int getRuleIndex() { return RULE_entityType; }
12317 @Override
12318 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12319 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEntityType(this);
12320 else return visitor.visitChildren(this);
12321 }
12322 }
12323
12324 public final EntityTypeContext entityType() throws RecognitionException {
12325 EntityTypeContext _localctx = new EntityTypeContext(_ctx, getState());
12326 enterRule(_localctx, 248, RULE_entityType);
12327 int _la;
12328 try {
12329 enterOuterAlt(_localctx, 1);
12330 {
12331 setState(2112);
12332 _la = _input.LA(1);
12333 if ( !(_la==TYPE || _la==OBJECT) ) {
12334 _errHandler.recoverInline(this);
12335 }
12336 else {
12337 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12338 _errHandler.reportMatch(this);
12339 consume();
12340 }
12341 }
12342 }
12343 catch (RecognitionException re) {
12344 _localctx.exception = re;
12345 _errHandler.reportError(this, re);
12346 _errHandler.recover(this, re);
12347 }
12348 finally {
12349 exitRule();
12350 }
12351 return _localctx;
12352 }
12353
12354 public static class IfExistsContext extends ParserRuleContext {
12355 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
12356 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
12357 public IfExistsContext(ParserRuleContext parent, int invokingState) {
12358 super(parent, invokingState);
12359 }
12360 @Override public int getRuleIndex() { return RULE_ifExists; }
12361 @Override
12362 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12363 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIfExists(this);
12364 else return visitor.visitChildren(this);
12365 }
12366 }
12367
12368 public final IfExistsContext ifExists() throws RecognitionException {
12369 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
12370 enterRule(_localctx, 250, RULE_ifExists);
12371 try {
12372 enterOuterAlt(_localctx, 1);
12373 {
12374 setState(2114);
12375 match(IF);
12376 setState(2115);
12377 match(EXISTS);
12378 }
12379 }
12380 catch (RecognitionException re) {
12381 _localctx.exception = re;
12382 _errHandler.reportError(this, re);
12383 _errHandler.recover(this, re);
12384 }
12385 finally {
12386 exitRule();
12387 }
12388 return _localctx;
12389 }
12390
12391 public static class TableHintLimitedContext extends ParserRuleContext {
12392 public TerminalNode KEEPIDENTITY() { return getToken(SQLServerStatementParser.KEEPIDENTITY, 0); }
12393 public TerminalNode KEEPDEFAULTS() { return getToken(SQLServerStatementParser.KEEPDEFAULTS, 0); }
12394 public TerminalNode HOLDLOCK() { return getToken(SQLServerStatementParser.HOLDLOCK, 0); }
12395 public TerminalNode IGNORE_CONSTRAINTS() { return getToken(SQLServerStatementParser.IGNORE_CONSTRAINTS, 0); }
12396 public TerminalNode IGNORE_TRIGGERS() { return getToken(SQLServerStatementParser.IGNORE_TRIGGERS, 0); }
12397 public TerminalNode NOLOCK() { return getToken(SQLServerStatementParser.NOLOCK, 0); }
12398 public TerminalNode NOWAIT() { return getToken(SQLServerStatementParser.NOWAIT, 0); }
12399 public TerminalNode PAGLOCK() { return getToken(SQLServerStatementParser.PAGLOCK, 0); }
12400 public TerminalNode READCOMMITTED() { return getToken(SQLServerStatementParser.READCOMMITTED, 0); }
12401 public TerminalNode READCOMMITTEDLOCK() { return getToken(SQLServerStatementParser.READCOMMITTEDLOCK, 0); }
12402 public TerminalNode READPAST() { return getToken(SQLServerStatementParser.READPAST, 0); }
12403 public TerminalNode REPEATABLEREAD() { return getToken(SQLServerStatementParser.REPEATABLEREAD, 0); }
12404 public TerminalNode ROWLOCK() { return getToken(SQLServerStatementParser.ROWLOCK, 0); }
12405 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
12406 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
12407 public TerminalNode TABLOCK() { return getToken(SQLServerStatementParser.TABLOCK, 0); }
12408 public TerminalNode TABLOCKX() { return getToken(SQLServerStatementParser.TABLOCKX, 0); }
12409 public TerminalNode UPDLOCK() { return getToken(SQLServerStatementParser.UPDLOCK, 0); }
12410 public TerminalNode XLOCK() { return getToken(SQLServerStatementParser.XLOCK, 0); }
12411 public TableHintLimitedContext(ParserRuleContext parent, int invokingState) {
12412 super(parent, invokingState);
12413 }
12414 @Override public int getRuleIndex() { return RULE_tableHintLimited; }
12415 @Override
12416 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12417 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableHintLimited(this);
12418 else return visitor.visitChildren(this);
12419 }
12420 }
12421
12422 public final TableHintLimitedContext tableHintLimited() throws RecognitionException {
12423 TableHintLimitedContext _localctx = new TableHintLimitedContext(_ctx, getState());
12424 enterRule(_localctx, 252, RULE_tableHintLimited);
12425 int _la;
12426 try {
12427 enterOuterAlt(_localctx, 1);
12428 {
12429 setState(2117);
12430 _la = _input.LA(1);
12431 if ( !(((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE) ) {
12432 _errHandler.recoverInline(this);
12433 }
12434 else {
12435 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12436 _errHandler.reportMatch(this);
12437 consume();
12438 }
12439 }
12440 }
12441 catch (RecognitionException re) {
12442 _localctx.exception = re;
12443 _errHandler.reportError(this, re);
12444 _errHandler.recover(this, re);
12445 }
12446 finally {
12447 exitRule();
12448 }
12449 return _localctx;
12450 }
12451
12452 public static class CallContext extends ParserRuleContext {
12453 public TerminalNode CALL() { return getToken(SQLServerStatementParser.CALL, 0); }
12454 public CallContext(ParserRuleContext parent, int invokingState) {
12455 super(parent, invokingState);
12456 }
12457 @Override public int getRuleIndex() { return RULE_call; }
12458 @Override
12459 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12460 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCall(this);
12461 else return visitor.visitChildren(this);
12462 }
12463 }
12464
12465 public final CallContext call() throws RecognitionException {
12466 CallContext _localctx = new CallContext(_ctx, getState());
12467 enterRule(_localctx, 254, RULE_call);
12468 try {
12469 enterOuterAlt(_localctx, 1);
12470 {
12471 setState(2119);
12472 match(CALL);
12473 }
12474 }
12475 catch (RecognitionException re) {
12476 _localctx.exception = re;
12477 _errHandler.reportError(this, re);
12478 _errHandler.recover(this, re);
12479 }
12480 finally {
12481 exitRule();
12482 }
12483 return _localctx;
12484 }
12485
12486 public static class ExplainContext extends ParserRuleContext {
12487 public TerminalNode EXPLAIN() { return getToken(SQLServerStatementParser.EXPLAIN, 0); }
12488 public ExplainableStatementContext explainableStatement() {
12489 return getRuleContext(ExplainableStatementContext.class,0);
12490 }
12491 public TerminalNode WITH_RECOMMENDATIONS() { return getToken(SQLServerStatementParser.WITH_RECOMMENDATIONS, 0); }
12492 public ExplainContext(ParserRuleContext parent, int invokingState) {
12493 super(parent, invokingState);
12494 }
12495 @Override public int getRuleIndex() { return RULE_explain; }
12496 @Override
12497 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12498 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplain(this);
12499 else return visitor.visitChildren(this);
12500 }
12501 }
12502
12503 public final ExplainContext explain() throws RecognitionException {
12504 ExplainContext _localctx = new ExplainContext(_ctx, getState());
12505 enterRule(_localctx, 256, RULE_explain);
12506 int _la;
12507 try {
12508 enterOuterAlt(_localctx, 1);
12509 {
12510 setState(2121);
12511 match(EXPLAIN);
12512 setState(2123);
12513 _errHandler.sync(this);
12514 _la = _input.LA(1);
12515 if (_la==WITH_RECOMMENDATIONS) {
12516 {
12517 setState(2122);
12518 match(WITH_RECOMMENDATIONS);
12519 }
12520 }
12521
12522 setState(2125);
12523 explainableStatement();
12524 }
12525 }
12526 catch (RecognitionException re) {
12527 _localctx.exception = re;
12528 _errHandler.reportError(this, re);
12529 _errHandler.recover(this, re);
12530 }
12531 finally {
12532 exitRule();
12533 }
12534 return _localctx;
12535 }
12536
12537 public static class ExplainableStatementContext extends ParserRuleContext {
12538 public SelectContext select() {
12539 return getRuleContext(SelectContext.class,0);
12540 }
12541 public InsertContext insert() {
12542 return getRuleContext(InsertContext.class,0);
12543 }
12544 public UpdateContext update() {
12545 return getRuleContext(UpdateContext.class,0);
12546 }
12547 public DeleteContext delete() {
12548 return getRuleContext(DeleteContext.class,0);
12549 }
12550 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
12551 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
12552 }
12553 public ExplainableStatementContext(ParserRuleContext parent, int invokingState) {
12554 super(parent, invokingState);
12555 }
12556 @Override public int getRuleIndex() { return RULE_explainableStatement; }
12557 @Override
12558 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12559 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplainableStatement(this);
12560 else return visitor.visitChildren(this);
12561 }
12562 }
12563
12564 public final ExplainableStatementContext explainableStatement() throws RecognitionException {
12565 ExplainableStatementContext _localctx = new ExplainableStatementContext(_ctx, getState());
12566 enterRule(_localctx, 258, RULE_explainableStatement);
12567 try {
12568 setState(2132);
12569 _errHandler.sync(this);
12570 switch ( getInterpreter().adaptivePredict(_input,135,_ctx) ) {
12571 case 1:
12572 enterOuterAlt(_localctx, 1);
12573 {
12574 setState(2127);
12575 select();
12576 }
12577 break;
12578 case 2:
12579 enterOuterAlt(_localctx, 2);
12580 {
12581 setState(2128);
12582 insert();
12583 }
12584 break;
12585 case 3:
12586 enterOuterAlt(_localctx, 3);
12587 {
12588 setState(2129);
12589 update();
12590 }
12591 break;
12592 case 4:
12593 enterOuterAlt(_localctx, 4);
12594 {
12595 setState(2130);
12596 delete();
12597 }
12598 break;
12599 case 5:
12600 enterOuterAlt(_localctx, 5);
12601 {
12602 setState(2131);
12603 createTableAsSelectClause();
12604 }
12605 break;
12606 }
12607 }
12608 catch (RecognitionException re) {
12609 _localctx.exception = re;
12610 _errHandler.reportError(this, re);
12611 _errHandler.recover(this, re);
12612 }
12613 finally {
12614 exitRule();
12615 }
12616 return _localctx;
12617 }
12618
12619 public static class CreateTableContext extends ParserRuleContext {
12620 public CreateTableClauseContext createTableClause() {
12621 return getRuleContext(CreateTableClauseContext.class,0);
12622 }
12623 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
12624 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
12625 }
12626 public CreateTableContext(ParserRuleContext parent, int invokingState) {
12627 super(parent, invokingState);
12628 }
12629 @Override public int getRuleIndex() { return RULE_createTable; }
12630 @Override
12631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTable(this);
12633 else return visitor.visitChildren(this);
12634 }
12635 }
12636
12637 public final CreateTableContext createTable() throws RecognitionException {
12638 CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
12639 enterRule(_localctx, 260, RULE_createTable);
12640 try {
12641 setState(2136);
12642 _errHandler.sync(this);
12643 switch ( getInterpreter().adaptivePredict(_input,136,_ctx) ) {
12644 case 1:
12645 enterOuterAlt(_localctx, 1);
12646 {
12647 setState(2134);
12648 createTableClause();
12649 }
12650 break;
12651 case 2:
12652 enterOuterAlt(_localctx, 2);
12653 {
12654 setState(2135);
12655 createTableAsSelectClause();
12656 }
12657 break;
12658 }
12659 }
12660 catch (RecognitionException re) {
12661 _localctx.exception = re;
12662 _errHandler.reportError(this, re);
12663 _errHandler.recover(this, re);
12664 }
12665 finally {
12666 exitRule();
12667 }
12668 return _localctx;
12669 }
12670
12671 public static class CreateTableClauseContext extends ParserRuleContext {
12672 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12673 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
12674 public TableNameContext tableName() {
12675 return getRuleContext(TableNameContext.class,0);
12676 }
12677 public FileTableClauseContext fileTableClause() {
12678 return getRuleContext(FileTableClauseContext.class,0);
12679 }
12680 public CreateDefinitionClauseContext createDefinitionClause() {
12681 return getRuleContext(CreateDefinitionClauseContext.class,0);
12682 }
12683 public CreateTableClauseContext(ParserRuleContext parent, int invokingState) {
12684 super(parent, invokingState);
12685 }
12686 @Override public int getRuleIndex() { return RULE_createTableClause; }
12687 @Override
12688 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12689 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableClause(this);
12690 else return visitor.visitChildren(this);
12691 }
12692 }
12693
12694 public final CreateTableClauseContext createTableClause() throws RecognitionException {
12695 CreateTableClauseContext _localctx = new CreateTableClauseContext(_ctx, getState());
12696 enterRule(_localctx, 262, RULE_createTableClause);
12697 try {
12698 enterOuterAlt(_localctx, 1);
12699 {
12700 setState(2138);
12701 match(CREATE);
12702 setState(2139);
12703 match(TABLE);
12704 setState(2140);
12705 tableName();
12706 setState(2141);
12707 fileTableClause();
12708 setState(2142);
12709 createDefinitionClause();
12710 }
12711 }
12712 catch (RecognitionException re) {
12713 _localctx.exception = re;
12714 _errHandler.reportError(this, re);
12715 _errHandler.recover(this, re);
12716 }
12717 finally {
12718 exitRule();
12719 }
12720 return _localctx;
12721 }
12722
12723 public static class CreateIndexContext extends ParserRuleContext {
12724 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12725 public CreateIndexSpecificationContext createIndexSpecification() {
12726 return getRuleContext(CreateIndexSpecificationContext.class,0);
12727 }
12728 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
12729 public IndexNameContext indexName() {
12730 return getRuleContext(IndexNameContext.class,0);
12731 }
12732 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12733 public TableNameContext tableName() {
12734 return getRuleContext(TableNameContext.class,0);
12735 }
12736 public ColumnNamesWithSortContext columnNamesWithSort() {
12737 return getRuleContext(ColumnNamesWithSortContext.class,0);
12738 }
12739 public CreateIndexClauseContext createIndexClause() {
12740 return getRuleContext(CreateIndexClauseContext.class,0);
12741 }
12742 public CreateIndexContext(ParserRuleContext parent, int invokingState) {
12743 super(parent, invokingState);
12744 }
12745 @Override public int getRuleIndex() { return RULE_createIndex; }
12746 @Override
12747 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12748 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndex(this);
12749 else return visitor.visitChildren(this);
12750 }
12751 }
12752
12753 public final CreateIndexContext createIndex() throws RecognitionException {
12754 CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
12755 enterRule(_localctx, 264, RULE_createIndex);
12756 try {
12757 enterOuterAlt(_localctx, 1);
12758 {
12759 setState(2144);
12760 match(CREATE);
12761 setState(2145);
12762 createIndexSpecification();
12763 setState(2146);
12764 match(INDEX);
12765 setState(2147);
12766 indexName();
12767 setState(2148);
12768 match(ON);
12769 setState(2149);
12770 tableName();
12771 setState(2150);
12772 columnNamesWithSort();
12773 setState(2151);
12774 createIndexClause();
12775 }
12776 }
12777 catch (RecognitionException re) {
12778 _localctx.exception = re;
12779 _errHandler.reportError(this, re);
12780 _errHandler.recover(this, re);
12781 }
12782 finally {
12783 exitRule();
12784 }
12785 return _localctx;
12786 }
12787
12788 public static class CreateDatabaseContext extends ParserRuleContext {
12789 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12790 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
12791 public DatabaseNameContext databaseName() {
12792 return getRuleContext(DatabaseNameContext.class,0);
12793 }
12794 public CreateDatabaseClauseContext createDatabaseClause() {
12795 return getRuleContext(CreateDatabaseClauseContext.class,0);
12796 }
12797 public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
12798 super(parent, invokingState);
12799 }
12800 @Override public int getRuleIndex() { return RULE_createDatabase; }
12801 @Override
12802 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12803 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabase(this);
12804 else return visitor.visitChildren(this);
12805 }
12806 }
12807
12808 public final CreateDatabaseContext createDatabase() throws RecognitionException {
12809 CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
12810 enterRule(_localctx, 266, RULE_createDatabase);
12811 try {
12812 enterOuterAlt(_localctx, 1);
12813 {
12814 setState(2153);
12815 match(CREATE);
12816 setState(2154);
12817 match(DATABASE);
12818 setState(2155);
12819 databaseName();
12820 setState(2156);
12821 createDatabaseClause();
12822 }
12823 }
12824 catch (RecognitionException re) {
12825 _localctx.exception = re;
12826 _errHandler.reportError(this, re);
12827 _errHandler.recover(this, re);
12828 }
12829 finally {
12830 exitRule();
12831 }
12832 return _localctx;
12833 }
12834
12835 public static class CreateFunctionContext extends ParserRuleContext {
12836 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12837 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
12838 public FunctionNameContext functionName() {
12839 return getRuleContext(FunctionNameContext.class,0);
12840 }
12841 public FuncParametersContext funcParameters() {
12842 return getRuleContext(FuncParametersContext.class,0);
12843 }
12844 public FuncReturnsContext funcReturns() {
12845 return getRuleContext(FuncReturnsContext.class,0);
12846 }
12847 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12848 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12849 public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
12850 super(parent, invokingState);
12851 }
12852 @Override public int getRuleIndex() { return RULE_createFunction; }
12853 @Override
12854 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12855 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateFunction(this);
12856 else return visitor.visitChildren(this);
12857 }
12858 }
12859
12860 public final CreateFunctionContext createFunction() throws RecognitionException {
12861 CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
12862 enterRule(_localctx, 268, RULE_createFunction);
12863 int _la;
12864 try {
12865 enterOuterAlt(_localctx, 1);
12866 {
12867 setState(2158);
12868 match(CREATE);
12869 setState(2161);
12870 _errHandler.sync(this);
12871 _la = _input.LA(1);
12872 if (_la==OR) {
12873 {
12874 setState(2159);
12875 match(OR);
12876 setState(2160);
12877 match(ALTER);
12878 }
12879 }
12880
12881 setState(2163);
12882 match(FUNCTION);
12883 setState(2164);
12884 functionName();
12885 setState(2165);
12886 funcParameters();
12887 setState(2166);
12888 funcReturns();
12889 }
12890 }
12891 catch (RecognitionException re) {
12892 _localctx.exception = re;
12893 _errHandler.reportError(this, re);
12894 _errHandler.recover(this, re);
12895 }
12896 finally {
12897 exitRule();
12898 }
12899 return _localctx;
12900 }
12901
12902 public static class CreateProcedureContext extends ParserRuleContext {
12903 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12904 public ProcedureNameContext procedureName() {
12905 return getRuleContext(ProcedureNameContext.class,0);
12906 }
12907 public ProcParametersContext procParameters() {
12908 return getRuleContext(ProcParametersContext.class,0);
12909 }
12910 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
12911 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
12912 }
12913 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
12914 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
12915 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12916 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12917 public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
12918 super(parent, invokingState);
12919 }
12920 @Override public int getRuleIndex() { return RULE_createProcedure; }
12921 @Override
12922 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12923 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateProcedure(this);
12924 else return visitor.visitChildren(this);
12925 }
12926 }
12927
12928 public final CreateProcedureContext createProcedure() throws RecognitionException {
12929 CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
12930 enterRule(_localctx, 270, RULE_createProcedure);
12931 int _la;
12932 try {
12933 enterOuterAlt(_localctx, 1);
12934 {
12935 setState(2168);
12936 match(CREATE);
12937 setState(2171);
12938 _errHandler.sync(this);
12939 _la = _input.LA(1);
12940 if (_la==OR) {
12941 {
12942 setState(2169);
12943 match(OR);
12944 setState(2170);
12945 match(ALTER);
12946 }
12947 }
12948
12949 setState(2173);
12950 _la = _input.LA(1);
12951 if ( !(_la==PROCEDURE || _la==PROC) ) {
12952 _errHandler.recoverInline(this);
12953 }
12954 else {
12955 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12956 _errHandler.reportMatch(this);
12957 consume();
12958 }
12959 setState(2174);
12960 procedureName();
12961 setState(2175);
12962 procParameters();
12963 setState(2176);
12964 createOrAlterProcClause();
12965 }
12966 }
12967 catch (RecognitionException re) {
12968 _localctx.exception = re;
12969 _errHandler.reportError(this, re);
12970 _errHandler.recover(this, re);
12971 }
12972 finally {
12973 exitRule();
12974 }
12975 return _localctx;
12976 }
12977
12978 public static class CreateViewContext extends ParserRuleContext {
12979 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12980 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
12981 public ViewNameContext viewName() {
12982 return getRuleContext(ViewNameContext.class,0);
12983 }
12984 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
12985 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
12986 }
12987 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12988 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12989 public CreateViewContext(ParserRuleContext parent, int invokingState) {
12990 super(parent, invokingState);
12991 }
12992 @Override public int getRuleIndex() { return RULE_createView; }
12993 @Override
12994 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12995 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateView(this);
12996 else return visitor.visitChildren(this);
12997 }
12998 }
12999
13000 public final CreateViewContext createView() throws RecognitionException {
13001 CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
13002 enterRule(_localctx, 272, RULE_createView);
13003 int _la;
13004 try {
13005 enterOuterAlt(_localctx, 1);
13006 {
13007 setState(2178);
13008 match(CREATE);
13009 setState(2181);
13010 _errHandler.sync(this);
13011 _la = _input.LA(1);
13012 if (_la==OR) {
13013 {
13014 setState(2179);
13015 match(OR);
13016 setState(2180);
13017 match(ALTER);
13018 }
13019 }
13020
13021 setState(2183);
13022 match(VIEW);
13023 setState(2184);
13024 viewName();
13025 setState(2185);
13026 createOrAlterViewClause();
13027 }
13028 }
13029 catch (RecognitionException re) {
13030 _localctx.exception = re;
13031 _errHandler.reportError(this, re);
13032 _errHandler.recover(this, re);
13033 }
13034 finally {
13035 exitRule();
13036 }
13037 return _localctx;
13038 }
13039
13040 public static class CreateTriggerContext extends ParserRuleContext {
13041 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
13042 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
13043 public TriggerNameContext triggerName() {
13044 return getRuleContext(TriggerNameContext.class,0);
13045 }
13046 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13047 public TriggerTargetContext triggerTarget() {
13048 return getRuleContext(TriggerTargetContext.class,0);
13049 }
13050 public CreateTriggerClauseContext createTriggerClause() {
13051 return getRuleContext(CreateTriggerClauseContext.class,0);
13052 }
13053 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
13054 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13055 public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
13056 super(parent, invokingState);
13057 }
13058 @Override public int getRuleIndex() { return RULE_createTrigger; }
13059 @Override
13060 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13061 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTrigger(this);
13062 else return visitor.visitChildren(this);
13063 }
13064 }
13065
13066 public final CreateTriggerContext createTrigger() throws RecognitionException {
13067 CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
13068 enterRule(_localctx, 274, RULE_createTrigger);
13069 int _la;
13070 try {
13071 enterOuterAlt(_localctx, 1);
13072 {
13073 setState(2187);
13074 match(CREATE);
13075 setState(2190);
13076 _errHandler.sync(this);
13077 _la = _input.LA(1);
13078 if (_la==OR) {
13079 {
13080 setState(2188);
13081 match(OR);
13082 setState(2189);
13083 match(ALTER);
13084 }
13085 }
13086
13087 setState(2192);
13088 match(TRIGGER);
13089 setState(2193);
13090 triggerName();
13091 setState(2194);
13092 match(ON);
13093 setState(2195);
13094 triggerTarget();
13095 setState(2196);
13096 createTriggerClause();
13097 }
13098 }
13099 catch (RecognitionException re) {
13100 _localctx.exception = re;
13101 _errHandler.reportError(this, re);
13102 _errHandler.recover(this, re);
13103 }
13104 finally {
13105 exitRule();
13106 }
13107 return _localctx;
13108 }
13109
13110 public static class CreateSequenceContext extends ParserRuleContext {
13111 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
13112 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
13113 public SequenceNameContext sequenceName() {
13114 return getRuleContext(SequenceNameContext.class,0);
13115 }
13116 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
13117 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
13118 }
13119 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
13120 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
13121 }
13122 public CreateSequenceContext(ParserRuleContext parent, int invokingState) {
13123 super(parent, invokingState);
13124 }
13125 @Override public int getRuleIndex() { return RULE_createSequence; }
13126 @Override
13127 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13128 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSequence(this);
13129 else return visitor.visitChildren(this);
13130 }
13131 }
13132
13133 public final CreateSequenceContext createSequence() throws RecognitionException {
13134 CreateSequenceContext _localctx = new CreateSequenceContext(_ctx, getState());
13135 enterRule(_localctx, 276, RULE_createSequence);
13136 int _la;
13137 try {
13138 enterOuterAlt(_localctx, 1);
13139 {
13140 setState(2198);
13141 match(CREATE);
13142 setState(2199);
13143 match(SEQUENCE);
13144 setState(2200);
13145 sequenceName();
13146 setState(2204);
13147 _errHandler.sync(this);
13148 _la = _input.LA(1);
13149 while (_la==AS || _la==NO || _la==START || ((((_la - 549)) & ~0x3f) == 0 && ((1L << (_la - 549)) & ((1L << (INCREMENT - 549)) | (1L << (CYCLE - 549)) | (1L << (CACHE - 549)) | (1L << (MINVALUE - 549)) | (1L << (MAXVALUE - 549)) | (1L << (RESTART - 549)))) != 0)) {
13150 {
13151 {
13152 setState(2201);
13153 createOrAlterSequenceClause();
13154 }
13155 }
13156 setState(2206);
13157 _errHandler.sync(this);
13158 _la = _input.LA(1);
13159 }
13160 }
13161 }
13162 catch (RecognitionException re) {
13163 _localctx.exception = re;
13164 _errHandler.reportError(this, re);
13165 _errHandler.recover(this, re);
13166 }
13167 finally {
13168 exitRule();
13169 }
13170 return _localctx;
13171 }
13172
13173 public static class CreateServiceContext extends ParserRuleContext {
13174 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
13175 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13176 public ServiceNameContext serviceName() {
13177 return getRuleContext(ServiceNameContext.class,0);
13178 }
13179 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13180 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
13181 public QueueNameContext queueName() {
13182 return getRuleContext(QueueNameContext.class,0);
13183 }
13184 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
13185 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
13186 public CreateServiceClauseContext createServiceClause() {
13187 return getRuleContext(CreateServiceClauseContext.class,0);
13188 }
13189 public CreateServiceContext(ParserRuleContext parent, int invokingState) {
13190 super(parent, invokingState);
13191 }
13192 @Override public int getRuleIndex() { return RULE_createService; }
13193 @Override
13194 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13195 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateService(this);
13196 else return visitor.visitChildren(this);
13197 }
13198 }
13199
13200 public final CreateServiceContext createService() throws RecognitionException {
13201 CreateServiceContext _localctx = new CreateServiceContext(_ctx, getState());
13202 enterRule(_localctx, 278, RULE_createService);
13203 int _la;
13204 try {
13205 enterOuterAlt(_localctx, 1);
13206 {
13207 setState(2207);
13208 match(CREATE);
13209 setState(2208);
13210 match(SERVICE);
13211 setState(2209);
13212 serviceName();
13213 setState(2212);
13214 _errHandler.sync(this);
13215 _la = _input.LA(1);
13216 if (_la==AUTHORIZATION) {
13217 {
13218 setState(2210);
13219 match(AUTHORIZATION);
13220 setState(2211);
13221 match(STRING_);
13222 }
13223 }
13224
13225 setState(2214);
13226 match(ON);
13227 setState(2215);
13228 match(QUEUE);
13229 setState(2216);
13230 queueName();
13231 setState(2218);
13232 _errHandler.sync(this);
13233 _la = _input.LA(1);
13234 if (_la==LP_) {
13235 {
13236 setState(2217);
13237 createServiceClause();
13238 }
13239 }
13240
13241 }
13242 }
13243 catch (RecognitionException re) {
13244 _localctx.exception = re;
13245 _errHandler.reportError(this, re);
13246 _errHandler.recover(this, re);
13247 }
13248 finally {
13249 exitRule();
13250 }
13251 return _localctx;
13252 }
13253
13254 public static class CreateSchemaContext extends ParserRuleContext {
13255 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
13256 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13257 public SchemaNameClauseContext schemaNameClause() {
13258 return getRuleContext(SchemaNameClauseContext.class,0);
13259 }
13260 public List<SchemaElementContext> schemaElement() {
13261 return getRuleContexts(SchemaElementContext.class);
13262 }
13263 public SchemaElementContext schemaElement(int i) {
13264 return getRuleContext(SchemaElementContext.class,i);
13265 }
13266 public CreateSchemaContext(ParserRuleContext parent, int invokingState) {
13267 super(parent, invokingState);
13268 }
13269 @Override public int getRuleIndex() { return RULE_createSchema; }
13270 @Override
13271 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13272 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSchema(this);
13273 else return visitor.visitChildren(this);
13274 }
13275 }
13276
13277 public final CreateSchemaContext createSchema() throws RecognitionException {
13278 CreateSchemaContext _localctx = new CreateSchemaContext(_ctx, getState());
13279 enterRule(_localctx, 280, RULE_createSchema);
13280 int _la;
13281 try {
13282 enterOuterAlt(_localctx, 1);
13283 {
13284 setState(2220);
13285 match(CREATE);
13286 setState(2221);
13287 match(SCHEMA);
13288 setState(2222);
13289 schemaNameClause();
13290 setState(2226);
13291 _errHandler.sync(this);
13292 _la = _input.LA(1);
13293 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << CREATE) | (1L << GRANT) | (1L << REVOKE))) != 0) || _la==DENY) {
13294 {
13295 {
13296 setState(2223);
13297 schemaElement();
13298 }
13299 }
13300 setState(2228);
13301 _errHandler.sync(this);
13302 _la = _input.LA(1);
13303 }
13304 }
13305 }
13306 catch (RecognitionException re) {
13307 _localctx.exception = re;
13308 _errHandler.reportError(this, re);
13309 _errHandler.recover(this, re);
13310 }
13311 finally {
13312 exitRule();
13313 }
13314 return _localctx;
13315 }
13316
13317 public static class AlterTableContext extends ParserRuleContext {
13318 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13319 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13320 public TableNameContext tableName() {
13321 return getRuleContext(TableNameContext.class,0);
13322 }
13323 public List<AlterDefinitionClauseContext> alterDefinitionClause() {
13324 return getRuleContexts(AlterDefinitionClauseContext.class);
13325 }
13326 public AlterDefinitionClauseContext alterDefinitionClause(int i) {
13327 return getRuleContext(AlterDefinitionClauseContext.class,i);
13328 }
13329 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13330 public TerminalNode COMMA_(int i) {
13331 return getToken(SQLServerStatementParser.COMMA_, i);
13332 }
13333 public AlterTableContext(ParserRuleContext parent, int invokingState) {
13334 super(parent, invokingState);
13335 }
13336 @Override public int getRuleIndex() { return RULE_alterTable; }
13337 @Override
13338 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13339 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTable(this);
13340 else return visitor.visitChildren(this);
13341 }
13342 }
13343
13344 public final AlterTableContext alterTable() throws RecognitionException {
13345 AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
13346 enterRule(_localctx, 282, RULE_alterTable);
13347 int _la;
13348 try {
13349 enterOuterAlt(_localctx, 1);
13350 {
13351 setState(2229);
13352 match(ALTER);
13353 setState(2230);
13354 match(TABLE);
13355 setState(2231);
13356 tableName();
13357 setState(2232);
13358 alterDefinitionClause();
13359 setState(2237);
13360 _errHandler.sync(this);
13361 _la = _input.LA(1);
13362 while (_la==COMMA_) {
13363 {
13364 {
13365 setState(2233);
13366 match(COMMA_);
13367 setState(2234);
13368 alterDefinitionClause();
13369 }
13370 }
13371 setState(2239);
13372 _errHandler.sync(this);
13373 _la = _input.LA(1);
13374 }
13375 }
13376 }
13377 catch (RecognitionException re) {
13378 _localctx.exception = re;
13379 _errHandler.reportError(this, re);
13380 _errHandler.recover(this, re);
13381 }
13382 finally {
13383 exitRule();
13384 }
13385 return _localctx;
13386 }
13387
13388 public static class AlterIndexContext extends ParserRuleContext {
13389 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13390 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
13391 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13392 public TableNameContext tableName() {
13393 return getRuleContext(TableNameContext.class,0);
13394 }
13395 public AlterIndexClauseContext alterIndexClause() {
13396 return getRuleContext(AlterIndexClauseContext.class,0);
13397 }
13398 public IndexNameContext indexName() {
13399 return getRuleContext(IndexNameContext.class,0);
13400 }
13401 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
13402 public AlterIndexContext(ParserRuleContext parent, int invokingState) {
13403 super(parent, invokingState);
13404 }
13405 @Override public int getRuleIndex() { return RULE_alterIndex; }
13406 @Override
13407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13408 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndex(this);
13409 else return visitor.visitChildren(this);
13410 }
13411 }
13412
13413 public final AlterIndexContext alterIndex() throws RecognitionException {
13414 AlterIndexContext _localctx = new AlterIndexContext(_ctx, getState());
13415 enterRule(_localctx, 284, RULE_alterIndex);
13416 try {
13417 enterOuterAlt(_localctx, 1);
13418 {
13419 setState(2240);
13420 match(ALTER);
13421 setState(2241);
13422 match(INDEX);
13423 setState(2244);
13424 _errHandler.sync(this);
13425 switch (_input.LA(1)) {
13426 case TRUNCATE:
13427 case SCHEMA:
13428 case COLUMNS:
13429 case PRECISION:
13430 case FUNCTION:
13431 case TRIGGER:
13432 case CAST:
13433 case TRIM:
13434 case SUBSTRING:
13435 case RIGHT:
13436 case OFF:
13437 case GROUP:
13438 case LIMIT:
13439 case OFFSET:
13440 case SAVEPOINT:
13441 case BOOLEAN:
13442 case ARRAY:
13443 case DATE:
13444 case TIMESTAMP:
13445 case LOCALTIME:
13446 case LOCALTIMESTAMP:
13447 case YEAR:
13448 case QUARTER:
13449 case MONTH:
13450 case WEEK:
13451 case DAY:
13452 case SECOND:
13453 case MICROSECOND:
13454 case MAX:
13455 case MIN:
13456 case SUM:
13457 case COUNT:
13458 case AVG:
13459 case ENABLE:
13460 case DISABLE:
13461 case INSTANCE:
13462 case DO:
13463 case DEFINER:
13464 case SQL:
13465 case CASCADED:
13466 case LOCAL:
13467 case NEXT:
13468 case NAME:
13469 case INTEGER:
13470 case TYPE:
13471 case TEXT:
13472 case VIEWS:
13473 case READ_ONLY:
13474 case DATABASE:
13475 case RETURNS:
13476 case DATEPART:
13477 case PASSWORD:
13478 case BINARY:
13479 case HIDDEN_:
13480 case MOD:
13481 case PARTITION:
13482 case PARTITIONS:
13483 case TOP:
13484 case ROW:
13485 case ROWS:
13486 case XOR:
13487 case ALWAYS:
13488 case USER:
13489 case ROLE:
13490 case START:
13491 case ALGORITHM:
13492 case AUTO:
13493 case BLOCKERS:
13494 case CLUSTERED:
13495 case NONCLUSTERED:
13496 case COLUMNSTORE:
13497 case CONTENT:
13498 case YEARS:
13499 case MONTHS:
13500 case WEEKS:
13501 case DAYS:
13502 case MINUTES:
13503 case DENY:
13504 case DETERMINISTIC:
13505 case DISTRIBUTION:
13506 case DOCUMENT:
13507 case DURABILITY:
13508 case ENCRYPTED:
13509 case FILESTREAM:
13510 case FILETABLE:
13511 case FILLFACTOR:
13512 case FOLLOWING:
13513 case HASH:
13514 case HEAP:
13515 case INBOUND:
13516 case OUTBOUND:
13517 case UNBOUNDED:
13518 case INFINITE:
13519 case LOGIN:
13520 case MASKED:
13521 case MAXDOP:
13522 case MOVE:
13523 case NOCHECK:
13524 case OBJECT:
13525 case ONLINE:
13526 case OVER:
13527 case PAGE:
13528 case PAUSED:
13529 case PERIOD:
13530 case PERSISTED:
13531 case PRECEDING:
13532 case RANDOMIZED:
13533 case RANGE:
13534 case REBUILD:
13535 case REPLICATE:
13536 case REPLICATION:
13537 case RESUMABLE:
13538 case ROWGUIDCOL:
13539 case SAVE:
13540 case SELF:
13541 case SPARSE:
13542 case SWITCH:
13543 case TRAN:
13544 case TRANCOUNT:
13545 case CONTROL:
13546 case CONCAT:
13547 case TAKE:
13548 case OWNERSHIP:
13549 case DEFINITION:
13550 case APPLICATION:
13551 case ASSEMBLY:
13552 case SYMMETRIC:
13553 case ASYMMETRIC:
13554 case SERVER:
13555 case RECEIVE:
13556 case CHANGE:
13557 case TRACE:
13558 case TRACKING:
13559 case RESOURCES:
13560 case SETTINGS:
13561 case STATE:
13562 case AVAILABILITY:
13563 case CREDENTIAL:
13564 case ENDPOINT:
13565 case EVENT:
13566 case NOTIFICATION:
13567 case LINKED:
13568 case AUDIT:
13569 case DDL:
13570 case XML:
13571 case IMPERSONATE:
13572 case SECURABLES:
13573 case AUTHENTICATE:
13574 case EXTERNAL:
13575 case ACCESS:
13576 case ADMINISTER:
13577 case BULK:
13578 case OPERATIONS:
13579 case UNSAFE:
13580 case SHUTDOWN:
13581 case SCOPED:
13582 case CONFIGURATION:
13583 case DATASPACE:
13584 case SERVICE:
13585 case CERTIFICATE:
13586 case CONTRACT:
13587 case ENCRYPTION:
13588 case MASTER:
13589 case DATA:
13590 case SOURCE:
13591 case FILE:
13592 case FORMAT:
13593 case LIBRARY:
13594 case FULLTEXT:
13595 case MASK:
13596 case UNMASK:
13597 case MESSAGE:
13598 case REMOTE:
13599 case BINDING:
13600 case ROUTE:
13601 case SECURITY:
13602 case POLICY:
13603 case AGGREGATE:
13604 case QUEUE:
13605 case RULE:
13606 case SYNONYM:
13607 case COLLECTION:
13608 case SCRIPT:
13609 case KILL:
13610 case BACKUP:
13611 case LOG:
13612 case SHOWPLAN:
13613 case SUBSCRIBE:
13614 case QUERY:
13615 case NOTIFICATIONS:
13616 case CHECKPOINT:
13617 case SEQUENCE:
13618 case ABORT_AFTER_WAIT:
13619 case ALLOW_PAGE_LOCKS:
13620 case ALLOW_ROW_LOCKS:
13621 case ALL_SPARSE_COLUMNS:
13622 case BUCKET_COUNT:
13623 case COLUMNSTORE_ARCHIVE:
13624 case COLUMN_ENCRYPTION_KEY:
13625 case COLUMN_SET:
13626 case COMPRESSION_DELAY:
13627 case DATABASE_DEAULT:
13628 case DATA_COMPRESSION:
13629 case DATA_CONSISTENCY_CHECK:
13630 case ENCRYPTION_TYPE:
13631 case SYSTEM_TIME:
13632 case SYSTEM_VERSIONING:
13633 case TEXTIMAGE_ON:
13634 case WAIT_AT_LOW_PRIORITY:
13635 case STATISTICS_INCREMENTAL:
13636 case STATISTICS_NORECOMPUTE:
13637 case ROUND_ROBIN:
13638 case SCHEMA_AND_DATA:
13639 case SCHEMA_ONLY:
13640 case SORT_IN_TEMPDB:
13641 case IGNORE_DUP_KEY:
13642 case IMPLICIT_TRANSACTIONS:
13643 case MAX_DURATION:
13644 case MEMORY_OPTIMIZED:
13645 case MIGRATION_STATE:
13646 case PAD_INDEX:
13647 case REMOTE_DATA_ARCHIVE:
13648 case FILESTREAM_ON:
13649 case FILETABLE_COLLATE_FILENAME:
13650 case FILETABLE_DIRECTORY:
13651 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
13652 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
13653 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
13654 case FILTER_PREDICATE:
13655 case HISTORY_RETENTION_PERIOD:
13656 case HISTORY_TABLE:
13657 case LOCK_ESCALATION:
13658 case DROP_EXISTING:
13659 case ROW_NUMBER:
13660 case FIRST:
13661 case DATETIME2:
13662 case OUTPUT:
13663 case INSERTED:
13664 case DELETED:
13665 case FILENAME:
13666 case SIZE:
13667 case MAXSIZE:
13668 case FILEGROWTH:
13669 case UNLIMITED:
13670 case KB:
13671 case MB:
13672 case GB:
13673 case TB:
13674 case CONTAINS:
13675 case MEMORY_OPTIMIZED_DATA:
13676 case FILEGROUP:
13677 case NON_TRANSACTED_ACCESS:
13678 case DB_CHAINING:
13679 case TRUSTWORTHY:
13680 case FORWARD_ONLY:
13681 case KEYSET:
13682 case FAST_FORWARD:
13683 case SCROLL_LOCKS:
13684 case OPTIMISTIC:
13685 case TYPE_WARNING:
13686 case SCHEMABINDING:
13687 case CALLER:
13688 case INPUT:
13689 case OWNER:
13690 case SNAPSHOT:
13691 case REPEATABLE:
13692 case SERIALIZABLE:
13693 case NATIVE_COMPILATION:
13694 case VIEW_METADATA:
13695 case INSTEAD:
13696 case APPEND:
13697 case INCREMENT:
13698 case CACHE:
13699 case MINVALUE:
13700 case MAXVALUE:
13701 case RESTART:
13702 case LOB_COMPACTION:
13703 case COMPRESS_ALL_ROW_GROUPS:
13704 case REORGANIZE:
13705 case RESUME:
13706 case PAUSE:
13707 case ABORT:
13708 case ACCELERATED_DATABASE_RECOVERY:
13709 case PERSISTENT_VERSION_STORE_FILEGROUP:
13710 case IMMEDIATE:
13711 case NO_WAIT:
13712 case TARGET_RECOVERY_TIME:
13713 case SECONDS:
13714 case HONOR_BROKER_PRIORITY:
13715 case ERROR_BROKER_CONVERSATIONS:
13716 case NEW_BROKER:
13717 case DISABLE_BROKER:
13718 case ENABLE_BROKER:
13719 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
13720 case READ_COMMITTED_SNAPSHOT:
13721 case ALLOW_SNAPSHOT_ISOLATION:
13722 case RECURSIVE_TRIGGERS:
13723 case QUOTED_IDENTIFIER:
13724 case NUMERIC_ROUNDABORT:
13725 case CONCAT_NULL_YIELDS_NULL:
13726 case COMPATIBILITY_LEVEL:
13727 case ARITHABORT:
13728 case ANSI_WARNINGS:
13729 case ANSI_PADDING:
13730 case ANSI_NULLS:
13731 case ANSI_NULL_DEFAULT:
13732 case PAGE_VERIFY:
13733 case CHECKSUM:
13734 case TORN_PAGE_DETECTION:
13735 case BULK_LOGGED:
13736 case RECOVERY:
13737 case TOTAL_EXECUTION_CPU_TIME_MS:
13738 case TOTAL_COMPILE_CPU_TIME_MS:
13739 case STALE_CAPTURE_POLICY_THRESHOLD:
13740 case EXECUTION_COUNT:
13741 case QUERY_CAPTURE_POLICY:
13742 case WAIT_STATS_CAPTURE_MODE:
13743 case MAX_PLANS_PER_QUERY:
13744 case QUERY_CAPTURE_MODE:
13745 case SIZE_BASED_CLEANUP_MODE:
13746 case INTERVAL_LENGTH_MINUTES:
13747 case MAX_STORAGE_SIZE_MB:
13748 case DATA_FLUSH_INTERVAL_SECONDS:
13749 case CLEANUP_POLICY:
13750 case CUSTOM:
13751 case STALE_QUERY_THRESHOLD_DAYS:
13752 case OPERATION_MODE:
13753 case QUERY_STORE:
13754 case CURSOR_DEFAULT:
13755 case GLOBAL:
13756 case CURSOR_CLOSE_ON_COMMIT:
13757 case HOURS:
13758 case CHANGE_RETENTION:
13759 case AUTO_CLEANUP:
13760 case CHANGE_TRACKING:
13761 case AUTOMATIC_TUNING:
13762 case FORCE_LAST_GOOD_PLAN:
13763 case AUTO_UPDATE_STATISTICS_ASYNC:
13764 case AUTO_UPDATE_STATISTICS:
13765 case AUTO_SHRINK:
13766 case AUTO_CREATE_STATISTICS:
13767 case INCREMENTAL:
13768 case AUTO_CLOSE:
13769 case DATA_RETENTION:
13770 case TEMPORAL_HISTORY_RETENTION:
13771 case EDITION:
13772 case MIXED_PAGE_ALLOCATION:
13773 case DISABLED:
13774 case ALLOWED:
13775 case HADR:
13776 case MULTI_USER:
13777 case RESTRICTED_USER:
13778 case SINGLE_USER:
13779 case OFFLINE:
13780 case EMERGENCY:
13781 case SUSPEND:
13782 case DATE_CORRELATION_OPTIMIZATION:
13783 case ELASTIC_POOL:
13784 case SERVICE_OBJECTIVE:
13785 case DATABASE_NAME:
13786 case ALLOW_CONNECTIONS:
13787 case GEO:
13788 case NAMED:
13789 case DATEFIRST:
13790 case BACKUP_STORAGE_REDUNDANCY:
13791 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
13792 case SECONDARY:
13793 case FAILOVER:
13794 case DEFAULT_FULLTEXT_LANGUAGE:
13795 case DEFAULT_LANGUAGE:
13796 case INLINE:
13797 case NESTED_TRIGGERS:
13798 case TRANSFORM_NOISE_WORDS:
13799 case TWO_DIGIT_YEAR_CUTOFF:
13800 case PERSISTENT_LOG_BUFFER:
13801 case DIRECTORY_NAME:
13802 case DATEFORMAT:
13803 case DELAYED_DURABILITY:
13804 case AUTHORIZATION:
13805 case TRANSFER:
13806 case PROVIDER:
13807 case SID:
13808 case SEARCH:
13809 case MEMBER:
13810 case JSON:
13811 case IDENTIFIER_:
13812 case DELIMITED_IDENTIFIER_:
13813 {
13814 setState(2242);
13815 indexName();
13816 }
13817 break;
13818 case ALL:
13819 {
13820 setState(2243);
13821 match(ALL);
13822 }
13823 break;
13824 default:
13825 throw new NoViableAltException(this);
13826 }
13827 setState(2246);
13828 match(ON);
13829 setState(2247);
13830 tableName();
13831 setState(2248);
13832 alterIndexClause();
13833 }
13834 }
13835 catch (RecognitionException re) {
13836 _localctx.exception = re;
13837 _errHandler.reportError(this, re);
13838 _errHandler.recover(this, re);
13839 }
13840 finally {
13841 exitRule();
13842 }
13843 return _localctx;
13844 }
13845
13846 public static class AlterDatabaseContext extends ParserRuleContext {
13847 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13848 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13849 public DatabaseNameContext databaseName() {
13850 return getRuleContext(DatabaseNameContext.class,0);
13851 }
13852 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
13853 public List<AlterDatabaseClauseContext> alterDatabaseClause() {
13854 return getRuleContexts(AlterDatabaseClauseContext.class);
13855 }
13856 public AlterDatabaseClauseContext alterDatabaseClause(int i) {
13857 return getRuleContext(AlterDatabaseClauseContext.class,i);
13858 }
13859 public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
13860 super(parent, invokingState);
13861 }
13862 @Override public int getRuleIndex() { return RULE_alterDatabase; }
13863 @Override
13864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabase(this);
13866 else return visitor.visitChildren(this);
13867 }
13868 }
13869
13870 public final AlterDatabaseContext alterDatabase() throws RecognitionException {
13871 AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
13872 enterRule(_localctx, 286, RULE_alterDatabase);
13873 int _la;
13874 try {
13875 enterOuterAlt(_localctx, 1);
13876 {
13877 setState(2250);
13878 match(ALTER);
13879 setState(2251);
13880 match(DATABASE);
13881 setState(2254);
13882 _errHandler.sync(this);
13883 switch (_input.LA(1)) {
13884 case TRUNCATE:
13885 case SCHEMA:
13886 case COLUMNS:
13887 case PRECISION:
13888 case FUNCTION:
13889 case TRIGGER:
13890 case CAST:
13891 case TRIM:
13892 case SUBSTRING:
13893 case RIGHT:
13894 case OFF:
13895 case GROUP:
13896 case LIMIT:
13897 case OFFSET:
13898 case SAVEPOINT:
13899 case BOOLEAN:
13900 case ARRAY:
13901 case DATE:
13902 case TIMESTAMP:
13903 case LOCALTIME:
13904 case LOCALTIMESTAMP:
13905 case YEAR:
13906 case QUARTER:
13907 case MONTH:
13908 case WEEK:
13909 case DAY:
13910 case SECOND:
13911 case MICROSECOND:
13912 case MAX:
13913 case MIN:
13914 case SUM:
13915 case COUNT:
13916 case AVG:
13917 case ENABLE:
13918 case DISABLE:
13919 case INSTANCE:
13920 case DO:
13921 case DEFINER:
13922 case SQL:
13923 case CASCADED:
13924 case LOCAL:
13925 case NEXT:
13926 case NAME:
13927 case INTEGER:
13928 case TYPE:
13929 case TEXT:
13930 case VIEWS:
13931 case READ_ONLY:
13932 case DATABASE:
13933 case RETURNS:
13934 case DATEPART:
13935 case PASSWORD:
13936 case BINARY:
13937 case HIDDEN_:
13938 case MOD:
13939 case PARTITION:
13940 case PARTITIONS:
13941 case TOP:
13942 case ROW:
13943 case ROWS:
13944 case XOR:
13945 case ALWAYS:
13946 case USER:
13947 case ROLE:
13948 case START:
13949 case ALGORITHM:
13950 case AUTO:
13951 case BLOCKERS:
13952 case CLUSTERED:
13953 case NONCLUSTERED:
13954 case COLUMNSTORE:
13955 case CONTENT:
13956 case YEARS:
13957 case MONTHS:
13958 case WEEKS:
13959 case DAYS:
13960 case MINUTES:
13961 case DENY:
13962 case DETERMINISTIC:
13963 case DISTRIBUTION:
13964 case DOCUMENT:
13965 case DURABILITY:
13966 case ENCRYPTED:
13967 case FILESTREAM:
13968 case FILETABLE:
13969 case FILLFACTOR:
13970 case FOLLOWING:
13971 case HASH:
13972 case HEAP:
13973 case INBOUND:
13974 case OUTBOUND:
13975 case UNBOUNDED:
13976 case INFINITE:
13977 case LOGIN:
13978 case MASKED:
13979 case MAXDOP:
13980 case MOVE:
13981 case NOCHECK:
13982 case OBJECT:
13983 case ONLINE:
13984 case OVER:
13985 case PAGE:
13986 case PAUSED:
13987 case PERIOD:
13988 case PERSISTED:
13989 case PRECEDING:
13990 case RANDOMIZED:
13991 case RANGE:
13992 case REBUILD:
13993 case REPLICATE:
13994 case REPLICATION:
13995 case RESUMABLE:
13996 case ROWGUIDCOL:
13997 case SAVE:
13998 case SELF:
13999 case SPARSE:
14000 case SWITCH:
14001 case TRAN:
14002 case TRANCOUNT:
14003 case CONTROL:
14004 case CONCAT:
14005 case TAKE:
14006 case OWNERSHIP:
14007 case DEFINITION:
14008 case APPLICATION:
14009 case ASSEMBLY:
14010 case SYMMETRIC:
14011 case ASYMMETRIC:
14012 case SERVER:
14013 case RECEIVE:
14014 case CHANGE:
14015 case TRACE:
14016 case TRACKING:
14017 case RESOURCES:
14018 case SETTINGS:
14019 case STATE:
14020 case AVAILABILITY:
14021 case CREDENTIAL:
14022 case ENDPOINT:
14023 case EVENT:
14024 case NOTIFICATION:
14025 case LINKED:
14026 case AUDIT:
14027 case DDL:
14028 case XML:
14029 case IMPERSONATE:
14030 case SECURABLES:
14031 case AUTHENTICATE:
14032 case EXTERNAL:
14033 case ACCESS:
14034 case ADMINISTER:
14035 case BULK:
14036 case OPERATIONS:
14037 case UNSAFE:
14038 case SHUTDOWN:
14039 case SCOPED:
14040 case CONFIGURATION:
14041 case DATASPACE:
14042 case SERVICE:
14043 case CERTIFICATE:
14044 case CONTRACT:
14045 case ENCRYPTION:
14046 case MASTER:
14047 case DATA:
14048 case SOURCE:
14049 case FILE:
14050 case FORMAT:
14051 case LIBRARY:
14052 case FULLTEXT:
14053 case MASK:
14054 case UNMASK:
14055 case MESSAGE:
14056 case REMOTE:
14057 case BINDING:
14058 case ROUTE:
14059 case SECURITY:
14060 case POLICY:
14061 case AGGREGATE:
14062 case QUEUE:
14063 case RULE:
14064 case SYNONYM:
14065 case COLLECTION:
14066 case SCRIPT:
14067 case KILL:
14068 case BACKUP:
14069 case LOG:
14070 case SHOWPLAN:
14071 case SUBSCRIBE:
14072 case QUERY:
14073 case NOTIFICATIONS:
14074 case CHECKPOINT:
14075 case SEQUENCE:
14076 case ABORT_AFTER_WAIT:
14077 case ALLOW_PAGE_LOCKS:
14078 case ALLOW_ROW_LOCKS:
14079 case ALL_SPARSE_COLUMNS:
14080 case BUCKET_COUNT:
14081 case COLUMNSTORE_ARCHIVE:
14082 case COLUMN_ENCRYPTION_KEY:
14083 case COLUMN_SET:
14084 case COMPRESSION_DELAY:
14085 case DATABASE_DEAULT:
14086 case DATA_COMPRESSION:
14087 case DATA_CONSISTENCY_CHECK:
14088 case ENCRYPTION_TYPE:
14089 case SYSTEM_TIME:
14090 case SYSTEM_VERSIONING:
14091 case TEXTIMAGE_ON:
14092 case WAIT_AT_LOW_PRIORITY:
14093 case STATISTICS_INCREMENTAL:
14094 case STATISTICS_NORECOMPUTE:
14095 case ROUND_ROBIN:
14096 case SCHEMA_AND_DATA:
14097 case SCHEMA_ONLY:
14098 case SORT_IN_TEMPDB:
14099 case IGNORE_DUP_KEY:
14100 case IMPLICIT_TRANSACTIONS:
14101 case MAX_DURATION:
14102 case MEMORY_OPTIMIZED:
14103 case MIGRATION_STATE:
14104 case PAD_INDEX:
14105 case REMOTE_DATA_ARCHIVE:
14106 case FILESTREAM_ON:
14107 case FILETABLE_COLLATE_FILENAME:
14108 case FILETABLE_DIRECTORY:
14109 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
14110 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
14111 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
14112 case FILTER_PREDICATE:
14113 case HISTORY_RETENTION_PERIOD:
14114 case HISTORY_TABLE:
14115 case LOCK_ESCALATION:
14116 case DROP_EXISTING:
14117 case ROW_NUMBER:
14118 case FIRST:
14119 case DATETIME2:
14120 case OUTPUT:
14121 case INSERTED:
14122 case DELETED:
14123 case FILENAME:
14124 case SIZE:
14125 case MAXSIZE:
14126 case FILEGROWTH:
14127 case UNLIMITED:
14128 case KB:
14129 case MB:
14130 case GB:
14131 case TB:
14132 case CONTAINS:
14133 case MEMORY_OPTIMIZED_DATA:
14134 case FILEGROUP:
14135 case NON_TRANSACTED_ACCESS:
14136 case DB_CHAINING:
14137 case TRUSTWORTHY:
14138 case FORWARD_ONLY:
14139 case KEYSET:
14140 case FAST_FORWARD:
14141 case SCROLL_LOCKS:
14142 case OPTIMISTIC:
14143 case TYPE_WARNING:
14144 case SCHEMABINDING:
14145 case CALLER:
14146 case INPUT:
14147 case OWNER:
14148 case SNAPSHOT:
14149 case REPEATABLE:
14150 case SERIALIZABLE:
14151 case NATIVE_COMPILATION:
14152 case VIEW_METADATA:
14153 case INSTEAD:
14154 case APPEND:
14155 case INCREMENT:
14156 case CACHE:
14157 case MINVALUE:
14158 case MAXVALUE:
14159 case RESTART:
14160 case LOB_COMPACTION:
14161 case COMPRESS_ALL_ROW_GROUPS:
14162 case REORGANIZE:
14163 case RESUME:
14164 case PAUSE:
14165 case ABORT:
14166 case ACCELERATED_DATABASE_RECOVERY:
14167 case PERSISTENT_VERSION_STORE_FILEGROUP:
14168 case IMMEDIATE:
14169 case NO_WAIT:
14170 case TARGET_RECOVERY_TIME:
14171 case SECONDS:
14172 case HONOR_BROKER_PRIORITY:
14173 case ERROR_BROKER_CONVERSATIONS:
14174 case NEW_BROKER:
14175 case DISABLE_BROKER:
14176 case ENABLE_BROKER:
14177 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
14178 case READ_COMMITTED_SNAPSHOT:
14179 case ALLOW_SNAPSHOT_ISOLATION:
14180 case RECURSIVE_TRIGGERS:
14181 case QUOTED_IDENTIFIER:
14182 case NUMERIC_ROUNDABORT:
14183 case CONCAT_NULL_YIELDS_NULL:
14184 case COMPATIBILITY_LEVEL:
14185 case ARITHABORT:
14186 case ANSI_WARNINGS:
14187 case ANSI_PADDING:
14188 case ANSI_NULLS:
14189 case ANSI_NULL_DEFAULT:
14190 case PAGE_VERIFY:
14191 case CHECKSUM:
14192 case TORN_PAGE_DETECTION:
14193 case BULK_LOGGED:
14194 case RECOVERY:
14195 case TOTAL_EXECUTION_CPU_TIME_MS:
14196 case TOTAL_COMPILE_CPU_TIME_MS:
14197 case STALE_CAPTURE_POLICY_THRESHOLD:
14198 case EXECUTION_COUNT:
14199 case QUERY_CAPTURE_POLICY:
14200 case WAIT_STATS_CAPTURE_MODE:
14201 case MAX_PLANS_PER_QUERY:
14202 case QUERY_CAPTURE_MODE:
14203 case SIZE_BASED_CLEANUP_MODE:
14204 case INTERVAL_LENGTH_MINUTES:
14205 case MAX_STORAGE_SIZE_MB:
14206 case DATA_FLUSH_INTERVAL_SECONDS:
14207 case CLEANUP_POLICY:
14208 case CUSTOM:
14209 case STALE_QUERY_THRESHOLD_DAYS:
14210 case OPERATION_MODE:
14211 case QUERY_STORE:
14212 case CURSOR_DEFAULT:
14213 case GLOBAL:
14214 case CURSOR_CLOSE_ON_COMMIT:
14215 case HOURS:
14216 case CHANGE_RETENTION:
14217 case AUTO_CLEANUP:
14218 case CHANGE_TRACKING:
14219 case AUTOMATIC_TUNING:
14220 case FORCE_LAST_GOOD_PLAN:
14221 case AUTO_UPDATE_STATISTICS_ASYNC:
14222 case AUTO_UPDATE_STATISTICS:
14223 case AUTO_SHRINK:
14224 case AUTO_CREATE_STATISTICS:
14225 case INCREMENTAL:
14226 case AUTO_CLOSE:
14227 case DATA_RETENTION:
14228 case TEMPORAL_HISTORY_RETENTION:
14229 case EDITION:
14230 case MIXED_PAGE_ALLOCATION:
14231 case DISABLED:
14232 case ALLOWED:
14233 case HADR:
14234 case MULTI_USER:
14235 case RESTRICTED_USER:
14236 case SINGLE_USER:
14237 case OFFLINE:
14238 case EMERGENCY:
14239 case SUSPEND:
14240 case DATE_CORRELATION_OPTIMIZATION:
14241 case ELASTIC_POOL:
14242 case SERVICE_OBJECTIVE:
14243 case DATABASE_NAME:
14244 case ALLOW_CONNECTIONS:
14245 case GEO:
14246 case NAMED:
14247 case DATEFIRST:
14248 case BACKUP_STORAGE_REDUNDANCY:
14249 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
14250 case SECONDARY:
14251 case FAILOVER:
14252 case DEFAULT_FULLTEXT_LANGUAGE:
14253 case DEFAULT_LANGUAGE:
14254 case INLINE:
14255 case NESTED_TRIGGERS:
14256 case TRANSFORM_NOISE_WORDS:
14257 case TWO_DIGIT_YEAR_CUTOFF:
14258 case PERSISTENT_LOG_BUFFER:
14259 case DIRECTORY_NAME:
14260 case DATEFORMAT:
14261 case DELAYED_DURABILITY:
14262 case AUTHORIZATION:
14263 case TRANSFER:
14264 case PROVIDER:
14265 case SID:
14266 case SEARCH:
14267 case MEMBER:
14268 case JSON:
14269 case IDENTIFIER_:
14270 case DELIMITED_IDENTIFIER_:
14271 {
14272 setState(2252);
14273 databaseName();
14274 }
14275 break;
14276 case CURRENT:
14277 {
14278 setState(2253);
14279 match(CURRENT);
14280 }
14281 break;
14282 default:
14283 throw new NoViableAltException(this);
14284 }
14285 setState(2259);
14286 _errHandler.sync(this);
14287 _la = _input.LA(1);
14288 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << ADD) | (1L << SET))) != 0) || ((((_la - 154)) & ~0x3f) == 0 && ((1L << (_la - 154)) & ((1L << (DEFAULT - 154)) | (1L << (NAME - 154)) | (1L << (READ_ONLY - 154)) | (1L << (READONLY - 154)))) != 0) || _la==COLLATE || ((((_la - 565)) & ~0x3f) == 0 && ((1L << (_la - 565)) & ((1L << (REMOVE - 565)) | (1L << (AUTOGROW_SINGLE_FILE - 565)) | (1L << (AUTOGROW_ALL_FILES - 565)) | (1L << (READWRITE - 565)) | (1L << (READ_WRITE - 565)) | (1L << (MODIFY - 565)))) != 0) || _la==FORCE_FAILOVER_ALLOW_DATA_LOSS || _la==FAILOVER) {
14289 {
14290 {
14291 setState(2256);
14292 alterDatabaseClause();
14293 }
14294 }
14295 setState(2261);
14296 _errHandler.sync(this);
14297 _la = _input.LA(1);
14298 }
14299 }
14300 }
14301 catch (RecognitionException re) {
14302 _localctx.exception = re;
14303 _errHandler.reportError(this, re);
14304 _errHandler.recover(this, re);
14305 }
14306 finally {
14307 exitRule();
14308 }
14309 return _localctx;
14310 }
14311
14312 public static class AlterProcedureContext extends ParserRuleContext {
14313 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14314 public ProcedureNameContext procedureName() {
14315 return getRuleContext(ProcedureNameContext.class,0);
14316 }
14317 public ProcParametersContext procParameters() {
14318 return getRuleContext(ProcParametersContext.class,0);
14319 }
14320 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
14321 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
14322 }
14323 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
14324 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
14325 public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
14326 super(parent, invokingState);
14327 }
14328 @Override public int getRuleIndex() { return RULE_alterProcedure; }
14329 @Override
14330 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14331 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterProcedure(this);
14332 else return visitor.visitChildren(this);
14333 }
14334 }
14335
14336 public final AlterProcedureContext alterProcedure() throws RecognitionException {
14337 AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
14338 enterRule(_localctx, 288, RULE_alterProcedure);
14339 int _la;
14340 try {
14341 enterOuterAlt(_localctx, 1);
14342 {
14343 setState(2262);
14344 match(ALTER);
14345 setState(2263);
14346 _la = _input.LA(1);
14347 if ( !(_la==PROCEDURE || _la==PROC) ) {
14348 _errHandler.recoverInline(this);
14349 }
14350 else {
14351 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14352 _errHandler.reportMatch(this);
14353 consume();
14354 }
14355 setState(2264);
14356 procedureName();
14357 setState(2265);
14358 procParameters();
14359 setState(2266);
14360 createOrAlterProcClause();
14361 }
14362 }
14363 catch (RecognitionException re) {
14364 _localctx.exception = re;
14365 _errHandler.reportError(this, re);
14366 _errHandler.recover(this, re);
14367 }
14368 finally {
14369 exitRule();
14370 }
14371 return _localctx;
14372 }
14373
14374 public static class AlterFunctionContext extends ParserRuleContext {
14375 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14376 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14377 public FunctionNameContext functionName() {
14378 return getRuleContext(FunctionNameContext.class,0);
14379 }
14380 public FuncParametersContext funcParameters() {
14381 return getRuleContext(FuncParametersContext.class,0);
14382 }
14383 public FuncReturnsContext funcReturns() {
14384 return getRuleContext(FuncReturnsContext.class,0);
14385 }
14386 public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
14387 super(parent, invokingState);
14388 }
14389 @Override public int getRuleIndex() { return RULE_alterFunction; }
14390 @Override
14391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterFunction(this);
14393 else return visitor.visitChildren(this);
14394 }
14395 }
14396
14397 public final AlterFunctionContext alterFunction() throws RecognitionException {
14398 AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
14399 enterRule(_localctx, 290, RULE_alterFunction);
14400 try {
14401 enterOuterAlt(_localctx, 1);
14402 {
14403 setState(2268);
14404 match(ALTER);
14405 setState(2269);
14406 match(FUNCTION);
14407 setState(2270);
14408 functionName();
14409 setState(2271);
14410 funcParameters();
14411 setState(2272);
14412 funcReturns();
14413 }
14414 }
14415 catch (RecognitionException re) {
14416 _localctx.exception = re;
14417 _errHandler.reportError(this, re);
14418 _errHandler.recover(this, re);
14419 }
14420 finally {
14421 exitRule();
14422 }
14423 return _localctx;
14424 }
14425
14426 public static class AlterViewContext extends ParserRuleContext {
14427 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14428 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
14429 public ViewNameContext viewName() {
14430 return getRuleContext(ViewNameContext.class,0);
14431 }
14432 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
14433 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
14434 }
14435 public AlterViewContext(ParserRuleContext parent, int invokingState) {
14436 super(parent, invokingState);
14437 }
14438 @Override public int getRuleIndex() { return RULE_alterView; }
14439 @Override
14440 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14441 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterView(this);
14442 else return visitor.visitChildren(this);
14443 }
14444 }
14445
14446 public final AlterViewContext alterView() throws RecognitionException {
14447 AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
14448 enterRule(_localctx, 292, RULE_alterView);
14449 try {
14450 enterOuterAlt(_localctx, 1);
14451 {
14452 setState(2274);
14453 match(ALTER);
14454 setState(2275);
14455 match(VIEW);
14456 setState(2276);
14457 viewName();
14458 setState(2277);
14459 createOrAlterViewClause();
14460 }
14461 }
14462 catch (RecognitionException re) {
14463 _localctx.exception = re;
14464 _errHandler.reportError(this, re);
14465 _errHandler.recover(this, re);
14466 }
14467 finally {
14468 exitRule();
14469 }
14470 return _localctx;
14471 }
14472
14473 public static class AlterTriggerContext extends ParserRuleContext {
14474 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14475 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
14476 public TriggerNameContext triggerName() {
14477 return getRuleContext(TriggerNameContext.class,0);
14478 }
14479 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14480 public TriggerTargetContext triggerTarget() {
14481 return getRuleContext(TriggerTargetContext.class,0);
14482 }
14483 public CreateTriggerClauseContext createTriggerClause() {
14484 return getRuleContext(CreateTriggerClauseContext.class,0);
14485 }
14486 public AlterTriggerContext(ParserRuleContext parent, int invokingState) {
14487 super(parent, invokingState);
14488 }
14489 @Override public int getRuleIndex() { return RULE_alterTrigger; }
14490 @Override
14491 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14492 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTrigger(this);
14493 else return visitor.visitChildren(this);
14494 }
14495 }
14496
14497 public final AlterTriggerContext alterTrigger() throws RecognitionException {
14498 AlterTriggerContext _localctx = new AlterTriggerContext(_ctx, getState());
14499 enterRule(_localctx, 294, RULE_alterTrigger);
14500 try {
14501 enterOuterAlt(_localctx, 1);
14502 {
14503 setState(2279);
14504 match(ALTER);
14505 setState(2280);
14506 match(TRIGGER);
14507 setState(2281);
14508 triggerName();
14509 setState(2282);
14510 match(ON);
14511 setState(2283);
14512 triggerTarget();
14513 setState(2284);
14514 createTriggerClause();
14515 }
14516 }
14517 catch (RecognitionException re) {
14518 _localctx.exception = re;
14519 _errHandler.reportError(this, re);
14520 _errHandler.recover(this, re);
14521 }
14522 finally {
14523 exitRule();
14524 }
14525 return _localctx;
14526 }
14527
14528 public static class AlterSequenceContext extends ParserRuleContext {
14529 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14530 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
14531 public SequenceNameContext sequenceName() {
14532 return getRuleContext(SequenceNameContext.class,0);
14533 }
14534 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
14535 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
14536 }
14537 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
14538 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
14539 }
14540 public AlterSequenceContext(ParserRuleContext parent, int invokingState) {
14541 super(parent, invokingState);
14542 }
14543 @Override public int getRuleIndex() { return RULE_alterSequence; }
14544 @Override
14545 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14546 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSequence(this);
14547 else return visitor.visitChildren(this);
14548 }
14549 }
14550
14551 public final AlterSequenceContext alterSequence() throws RecognitionException {
14552 AlterSequenceContext _localctx = new AlterSequenceContext(_ctx, getState());
14553 enterRule(_localctx, 296, RULE_alterSequence);
14554 int _la;
14555 try {
14556 enterOuterAlt(_localctx, 1);
14557 {
14558 setState(2286);
14559 match(ALTER);
14560 setState(2287);
14561 match(SEQUENCE);
14562 setState(2288);
14563 sequenceName();
14564 setState(2292);
14565 _errHandler.sync(this);
14566 _la = _input.LA(1);
14567 while (_la==AS || _la==NO || _la==START || ((((_la - 549)) & ~0x3f) == 0 && ((1L << (_la - 549)) & ((1L << (INCREMENT - 549)) | (1L << (CYCLE - 549)) | (1L << (CACHE - 549)) | (1L << (MINVALUE - 549)) | (1L << (MAXVALUE - 549)) | (1L << (RESTART - 549)))) != 0)) {
14568 {
14569 {
14570 setState(2289);
14571 createOrAlterSequenceClause();
14572 }
14573 }
14574 setState(2294);
14575 _errHandler.sync(this);
14576 _la = _input.LA(1);
14577 }
14578 }
14579 }
14580 catch (RecognitionException re) {
14581 _localctx.exception = re;
14582 _errHandler.reportError(this, re);
14583 _errHandler.recover(this, re);
14584 }
14585 finally {
14586 exitRule();
14587 }
14588 return _localctx;
14589 }
14590
14591 public static class AlterServiceContext extends ParserRuleContext {
14592 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14593 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
14594 public ServiceNameContext serviceName() {
14595 return getRuleContext(ServiceNameContext.class,0);
14596 }
14597 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14598 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
14599 public QueueNameContext queueName() {
14600 return getRuleContext(QueueNameContext.class,0);
14601 }
14602 public AlterServiceClauseContext alterServiceClause() {
14603 return getRuleContext(AlterServiceClauseContext.class,0);
14604 }
14605 public AlterServiceContext(ParserRuleContext parent, int invokingState) {
14606 super(parent, invokingState);
14607 }
14608 @Override public int getRuleIndex() { return RULE_alterService; }
14609 @Override
14610 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14611 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterService(this);
14612 else return visitor.visitChildren(this);
14613 }
14614 }
14615
14616 public final AlterServiceContext alterService() throws RecognitionException {
14617 AlterServiceContext _localctx = new AlterServiceContext(_ctx, getState());
14618 enterRule(_localctx, 298, RULE_alterService);
14619 int _la;
14620 try {
14621 enterOuterAlt(_localctx, 1);
14622 {
14623 setState(2295);
14624 match(ALTER);
14625 setState(2296);
14626 match(SERVICE);
14627 setState(2297);
14628 serviceName();
14629 setState(2301);
14630 _errHandler.sync(this);
14631 _la = _input.LA(1);
14632 if (_la==ON) {
14633 {
14634 setState(2298);
14635 match(ON);
14636 setState(2299);
14637 match(QUEUE);
14638 setState(2300);
14639 queueName();
14640 }
14641 }
14642
14643 setState(2304);
14644 _errHandler.sync(this);
14645 _la = _input.LA(1);
14646 if (_la==LP_) {
14647 {
14648 setState(2303);
14649 alterServiceClause();
14650 }
14651 }
14652
14653 }
14654 }
14655 catch (RecognitionException re) {
14656 _localctx.exception = re;
14657 _errHandler.reportError(this, re);
14658 _errHandler.recover(this, re);
14659 }
14660 finally {
14661 exitRule();
14662 }
14663 return _localctx;
14664 }
14665
14666 public static class AlterSchemaContext extends ParserRuleContext {
14667 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14668 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
14669 public SchemaNameContext schemaName() {
14670 return getRuleContext(SchemaNameContext.class,0);
14671 }
14672 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
14673 public IgnoredIdentifierContext ignoredIdentifier() {
14674 return getRuleContext(IgnoredIdentifierContext.class,0);
14675 }
14676 public Class_Context class_() {
14677 return getRuleContext(Class_Context.class,0);
14678 }
14679 public AlterSchemaContext(ParserRuleContext parent, int invokingState) {
14680 super(parent, invokingState);
14681 }
14682 @Override public int getRuleIndex() { return RULE_alterSchema; }
14683 @Override
14684 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14685 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSchema(this);
14686 else return visitor.visitChildren(this);
14687 }
14688 }
14689
14690 public final AlterSchemaContext alterSchema() throws RecognitionException {
14691 AlterSchemaContext _localctx = new AlterSchemaContext(_ctx, getState());
14692 enterRule(_localctx, 300, RULE_alterSchema);
14693 try {
14694 enterOuterAlt(_localctx, 1);
14695 {
14696 setState(2306);
14697 match(ALTER);
14698 setState(2307);
14699 match(SCHEMA);
14700 setState(2308);
14701 schemaName();
14702 setState(2309);
14703 match(TRANSFER);
14704 setState(2311);
14705 _errHandler.sync(this);
14706 switch ( getInterpreter().adaptivePredict(_input,152,_ctx) ) {
14707 case 1:
14708 {
14709 setState(2310);
14710 class_();
14711 }
14712 break;
14713 }
14714 setState(2313);
14715 ignoredIdentifier();
14716 }
14717 }
14718 catch (RecognitionException re) {
14719 _localctx.exception = re;
14720 _errHandler.reportError(this, re);
14721 _errHandler.recover(this, re);
14722 }
14723 finally {
14724 exitRule();
14725 }
14726 return _localctx;
14727 }
14728
14729 public static class DropTableContext extends ParserRuleContext {
14730 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14731 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
14732 public TableNamesContext tableNames() {
14733 return getRuleContext(TableNamesContext.class,0);
14734 }
14735 public IfExistsContext ifExists() {
14736 return getRuleContext(IfExistsContext.class,0);
14737 }
14738 public DropTableContext(ParserRuleContext parent, int invokingState) {
14739 super(parent, invokingState);
14740 }
14741 @Override public int getRuleIndex() { return RULE_dropTable; }
14742 @Override
14743 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14744 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTable(this);
14745 else return visitor.visitChildren(this);
14746 }
14747 }
14748
14749 public final DropTableContext dropTable() throws RecognitionException {
14750 DropTableContext _localctx = new DropTableContext(_ctx, getState());
14751 enterRule(_localctx, 302, RULE_dropTable);
14752 int _la;
14753 try {
14754 enterOuterAlt(_localctx, 1);
14755 {
14756 setState(2315);
14757 match(DROP);
14758 setState(2316);
14759 match(TABLE);
14760 setState(2318);
14761 _errHandler.sync(this);
14762 _la = _input.LA(1);
14763 if (_la==IF) {
14764 {
14765 setState(2317);
14766 ifExists();
14767 }
14768 }
14769
14770 setState(2320);
14771 tableNames();
14772 }
14773 }
14774 catch (RecognitionException re) {
14775 _localctx.exception = re;
14776 _errHandler.reportError(this, re);
14777 _errHandler.recover(this, re);
14778 }
14779 finally {
14780 exitRule();
14781 }
14782 return _localctx;
14783 }
14784
14785 public static class DropIndexContext extends ParserRuleContext {
14786 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14787 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
14788 public IndexNameContext indexName() {
14789 return getRuleContext(IndexNameContext.class,0);
14790 }
14791 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14792 public TableNameContext tableName() {
14793 return getRuleContext(TableNameContext.class,0);
14794 }
14795 public IfExistsContext ifExists() {
14796 return getRuleContext(IfExistsContext.class,0);
14797 }
14798 public DropIndexContext(ParserRuleContext parent, int invokingState) {
14799 super(parent, invokingState);
14800 }
14801 @Override public int getRuleIndex() { return RULE_dropIndex; }
14802 @Override
14803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14804 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndex(this);
14805 else return visitor.visitChildren(this);
14806 }
14807 }
14808
14809 public final DropIndexContext dropIndex() throws RecognitionException {
14810 DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
14811 enterRule(_localctx, 304, RULE_dropIndex);
14812 int _la;
14813 try {
14814 enterOuterAlt(_localctx, 1);
14815 {
14816 setState(2322);
14817 match(DROP);
14818 setState(2323);
14819 match(INDEX);
14820 setState(2325);
14821 _errHandler.sync(this);
14822 _la = _input.LA(1);
14823 if (_la==IF) {
14824 {
14825 setState(2324);
14826 ifExists();
14827 }
14828 }
14829
14830 setState(2327);
14831 indexName();
14832 setState(2328);
14833 match(ON);
14834 setState(2329);
14835 tableName();
14836 }
14837 }
14838 catch (RecognitionException re) {
14839 _localctx.exception = re;
14840 _errHandler.reportError(this, re);
14841 _errHandler.recover(this, re);
14842 }
14843 finally {
14844 exitRule();
14845 }
14846 return _localctx;
14847 }
14848
14849 public static class DropDatabaseContext extends ParserRuleContext {
14850 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14851 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
14852 public List<DatabaseNameContext> databaseName() {
14853 return getRuleContexts(DatabaseNameContext.class);
14854 }
14855 public DatabaseNameContext databaseName(int i) {
14856 return getRuleContext(DatabaseNameContext.class,i);
14857 }
14858 public IfExistsContext ifExists() {
14859 return getRuleContext(IfExistsContext.class,0);
14860 }
14861 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14862 public TerminalNode COMMA_(int i) {
14863 return getToken(SQLServerStatementParser.COMMA_, i);
14864 }
14865 public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
14866 super(parent, invokingState);
14867 }
14868 @Override public int getRuleIndex() { return RULE_dropDatabase; }
14869 @Override
14870 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14871 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropDatabase(this);
14872 else return visitor.visitChildren(this);
14873 }
14874 }
14875
14876 public final DropDatabaseContext dropDatabase() throws RecognitionException {
14877 DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
14878 enterRule(_localctx, 306, RULE_dropDatabase);
14879 int _la;
14880 try {
14881 enterOuterAlt(_localctx, 1);
14882 {
14883 setState(2331);
14884 match(DROP);
14885 setState(2332);
14886 match(DATABASE);
14887 setState(2334);
14888 _errHandler.sync(this);
14889 _la = _input.LA(1);
14890 if (_la==IF) {
14891 {
14892 setState(2333);
14893 ifExists();
14894 }
14895 }
14896
14897 setState(2336);
14898 databaseName();
14899 setState(2341);
14900 _errHandler.sync(this);
14901 _la = _input.LA(1);
14902 while (_la==COMMA_) {
14903 {
14904 {
14905 setState(2337);
14906 match(COMMA_);
14907 setState(2338);
14908 databaseName();
14909 }
14910 }
14911 setState(2343);
14912 _errHandler.sync(this);
14913 _la = _input.LA(1);
14914 }
14915 }
14916 }
14917 catch (RecognitionException re) {
14918 _localctx.exception = re;
14919 _errHandler.reportError(this, re);
14920 _errHandler.recover(this, re);
14921 }
14922 finally {
14923 exitRule();
14924 }
14925 return _localctx;
14926 }
14927
14928 public static class DropFunctionContext extends ParserRuleContext {
14929 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14930 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14931 public List<FunctionNameContext> functionName() {
14932 return getRuleContexts(FunctionNameContext.class);
14933 }
14934 public FunctionNameContext functionName(int i) {
14935 return getRuleContext(FunctionNameContext.class,i);
14936 }
14937 public IfExistsContext ifExists() {
14938 return getRuleContext(IfExistsContext.class,0);
14939 }
14940 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14941 public TerminalNode COMMA_(int i) {
14942 return getToken(SQLServerStatementParser.COMMA_, i);
14943 }
14944 public DropFunctionContext(ParserRuleContext parent, int invokingState) {
14945 super(parent, invokingState);
14946 }
14947 @Override public int getRuleIndex() { return RULE_dropFunction; }
14948 @Override
14949 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14950 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropFunction(this);
14951 else return visitor.visitChildren(this);
14952 }
14953 }
14954
14955 public final DropFunctionContext dropFunction() throws RecognitionException {
14956 DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
14957 enterRule(_localctx, 308, RULE_dropFunction);
14958 int _la;
14959 try {
14960 enterOuterAlt(_localctx, 1);
14961 {
14962 setState(2344);
14963 match(DROP);
14964 setState(2345);
14965 match(FUNCTION);
14966 setState(2347);
14967 _errHandler.sync(this);
14968 _la = _input.LA(1);
14969 if (_la==IF) {
14970 {
14971 setState(2346);
14972 ifExists();
14973 }
14974 }
14975
14976 setState(2349);
14977 functionName();
14978 setState(2354);
14979 _errHandler.sync(this);
14980 _la = _input.LA(1);
14981 while (_la==COMMA_) {
14982 {
14983 {
14984 setState(2350);
14985 match(COMMA_);
14986 setState(2351);
14987 functionName();
14988 }
14989 }
14990 setState(2356);
14991 _errHandler.sync(this);
14992 _la = _input.LA(1);
14993 }
14994 }
14995 }
14996 catch (RecognitionException re) {
14997 _localctx.exception = re;
14998 _errHandler.reportError(this, re);
14999 _errHandler.recover(this, re);
15000 }
15001 finally {
15002 exitRule();
15003 }
15004 return _localctx;
15005 }
15006
15007 public static class DropProcedureContext extends ParserRuleContext {
15008 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15009 public List<ProcedureNameContext> procedureName() {
15010 return getRuleContexts(ProcedureNameContext.class);
15011 }
15012 public ProcedureNameContext procedureName(int i) {
15013 return getRuleContext(ProcedureNameContext.class,i);
15014 }
15015 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
15016 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
15017 public IfExistsContext ifExists() {
15018 return getRuleContext(IfExistsContext.class,0);
15019 }
15020 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15021 public TerminalNode COMMA_(int i) {
15022 return getToken(SQLServerStatementParser.COMMA_, i);
15023 }
15024 public DropProcedureContext(ParserRuleContext parent, int invokingState) {
15025 super(parent, invokingState);
15026 }
15027 @Override public int getRuleIndex() { return RULE_dropProcedure; }
15028 @Override
15029 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15030 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropProcedure(this);
15031 else return visitor.visitChildren(this);
15032 }
15033 }
15034
15035 public final DropProcedureContext dropProcedure() throws RecognitionException {
15036 DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
15037 enterRule(_localctx, 310, RULE_dropProcedure);
15038 int _la;
15039 try {
15040 enterOuterAlt(_localctx, 1);
15041 {
15042 setState(2357);
15043 match(DROP);
15044 setState(2358);
15045 _la = _input.LA(1);
15046 if ( !(_la==PROCEDURE || _la==PROC) ) {
15047 _errHandler.recoverInline(this);
15048 }
15049 else {
15050 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15051 _errHandler.reportMatch(this);
15052 consume();
15053 }
15054 setState(2360);
15055 _errHandler.sync(this);
15056 _la = _input.LA(1);
15057 if (_la==IF) {
15058 {
15059 setState(2359);
15060 ifExists();
15061 }
15062 }
15063
15064 setState(2362);
15065 procedureName();
15066 setState(2367);
15067 _errHandler.sync(this);
15068 _la = _input.LA(1);
15069 while (_la==COMMA_) {
15070 {
15071 {
15072 setState(2363);
15073 match(COMMA_);
15074 setState(2364);
15075 procedureName();
15076 }
15077 }
15078 setState(2369);
15079 _errHandler.sync(this);
15080 _la = _input.LA(1);
15081 }
15082 }
15083 }
15084 catch (RecognitionException re) {
15085 _localctx.exception = re;
15086 _errHandler.reportError(this, re);
15087 _errHandler.recover(this, re);
15088 }
15089 finally {
15090 exitRule();
15091 }
15092 return _localctx;
15093 }
15094
15095 public static class DropViewContext extends ParserRuleContext {
15096 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15097 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
15098 public List<ViewNameContext> viewName() {
15099 return getRuleContexts(ViewNameContext.class);
15100 }
15101 public ViewNameContext viewName(int i) {
15102 return getRuleContext(ViewNameContext.class,i);
15103 }
15104 public IfExistsContext ifExists() {
15105 return getRuleContext(IfExistsContext.class,0);
15106 }
15107 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15108 public TerminalNode COMMA_(int i) {
15109 return getToken(SQLServerStatementParser.COMMA_, i);
15110 }
15111 public DropViewContext(ParserRuleContext parent, int invokingState) {
15112 super(parent, invokingState);
15113 }
15114 @Override public int getRuleIndex() { return RULE_dropView; }
15115 @Override
15116 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15117 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropView(this);
15118 else return visitor.visitChildren(this);
15119 }
15120 }
15121
15122 public final DropViewContext dropView() throws RecognitionException {
15123 DropViewContext _localctx = new DropViewContext(_ctx, getState());
15124 enterRule(_localctx, 312, RULE_dropView);
15125 int _la;
15126 try {
15127 enterOuterAlt(_localctx, 1);
15128 {
15129 setState(2370);
15130 match(DROP);
15131 setState(2371);
15132 match(VIEW);
15133 setState(2373);
15134 _errHandler.sync(this);
15135 _la = _input.LA(1);
15136 if (_la==IF) {
15137 {
15138 setState(2372);
15139 ifExists();
15140 }
15141 }
15142
15143 setState(2375);
15144 viewName();
15145 setState(2380);
15146 _errHandler.sync(this);
15147 _la = _input.LA(1);
15148 while (_la==COMMA_) {
15149 {
15150 {
15151 setState(2376);
15152 match(COMMA_);
15153 setState(2377);
15154 viewName();
15155 }
15156 }
15157 setState(2382);
15158 _errHandler.sync(this);
15159 _la = _input.LA(1);
15160 }
15161 }
15162 }
15163 catch (RecognitionException re) {
15164 _localctx.exception = re;
15165 _errHandler.reportError(this, re);
15166 _errHandler.recover(this, re);
15167 }
15168 finally {
15169 exitRule();
15170 }
15171 return _localctx;
15172 }
15173
15174 public static class DropTriggerContext extends ParserRuleContext {
15175 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15176 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
15177 public List<TriggerNameContext> triggerName() {
15178 return getRuleContexts(TriggerNameContext.class);
15179 }
15180 public TriggerNameContext triggerName(int i) {
15181 return getRuleContext(TriggerNameContext.class,i);
15182 }
15183 public IfExistsContext ifExists() {
15184 return getRuleContext(IfExistsContext.class,0);
15185 }
15186 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15187 public TerminalNode COMMA_(int i) {
15188 return getToken(SQLServerStatementParser.COMMA_, i);
15189 }
15190 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15191 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
15192 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
15193 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
15194 public DropTriggerContext(ParserRuleContext parent, int invokingState) {
15195 super(parent, invokingState);
15196 }
15197 @Override public int getRuleIndex() { return RULE_dropTrigger; }
15198 @Override
15199 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15200 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTrigger(this);
15201 else return visitor.visitChildren(this);
15202 }
15203 }
15204
15205 public final DropTriggerContext dropTrigger() throws RecognitionException {
15206 DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
15207 enterRule(_localctx, 314, RULE_dropTrigger);
15208 int _la;
15209 try {
15210 enterOuterAlt(_localctx, 1);
15211 {
15212 setState(2383);
15213 match(DROP);
15214 setState(2384);
15215 match(TRIGGER);
15216 setState(2386);
15217 _errHandler.sync(this);
15218 _la = _input.LA(1);
15219 if (_la==IF) {
15220 {
15221 setState(2385);
15222 ifExists();
15223 }
15224 }
15225
15226 setState(2388);
15227 triggerName();
15228 setState(2393);
15229 _errHandler.sync(this);
15230 _la = _input.LA(1);
15231 while (_la==COMMA_) {
15232 {
15233 {
15234 setState(2389);
15235 match(COMMA_);
15236 setState(2390);
15237 triggerName();
15238 }
15239 }
15240 setState(2395);
15241 _errHandler.sync(this);
15242 _la = _input.LA(1);
15243 }
15244 setState(2402);
15245 _errHandler.sync(this);
15246 _la = _input.LA(1);
15247 if (_la==ON) {
15248 {
15249 setState(2396);
15250 match(ON);
15251 setState(2400);
15252 _errHandler.sync(this);
15253 switch (_input.LA(1)) {
15254 case DATABASE:
15255 {
15256 setState(2397);
15257 match(DATABASE);
15258 }
15259 break;
15260 case ALL:
15261 {
15262 setState(2398);
15263 match(ALL);
15264 setState(2399);
15265 match(SERVER);
15266 }
15267 break;
15268 default:
15269 throw new NoViableAltException(this);
15270 }
15271 }
15272 }
15273
15274 }
15275 }
15276 catch (RecognitionException re) {
15277 _localctx.exception = re;
15278 _errHandler.reportError(this, re);
15279 _errHandler.recover(this, re);
15280 }
15281 finally {
15282 exitRule();
15283 }
15284 return _localctx;
15285 }
15286
15287 public static class DropSequenceContext extends ParserRuleContext {
15288 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15289 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
15290 public List<SequenceNameContext> sequenceName() {
15291 return getRuleContexts(SequenceNameContext.class);
15292 }
15293 public SequenceNameContext sequenceName(int i) {
15294 return getRuleContext(SequenceNameContext.class,i);
15295 }
15296 public IfExistsContext ifExists() {
15297 return getRuleContext(IfExistsContext.class,0);
15298 }
15299 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15300 public TerminalNode COMMA_(int i) {
15301 return getToken(SQLServerStatementParser.COMMA_, i);
15302 }
15303 public DropSequenceContext(ParserRuleContext parent, int invokingState) {
15304 super(parent, invokingState);
15305 }
15306 @Override public int getRuleIndex() { return RULE_dropSequence; }
15307 @Override
15308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSequence(this);
15310 else return visitor.visitChildren(this);
15311 }
15312 }
15313
15314 public final DropSequenceContext dropSequence() throws RecognitionException {
15315 DropSequenceContext _localctx = new DropSequenceContext(_ctx, getState());
15316 enterRule(_localctx, 316, RULE_dropSequence);
15317 int _la;
15318 try {
15319 enterOuterAlt(_localctx, 1);
15320 {
15321 setState(2404);
15322 match(DROP);
15323 setState(2405);
15324 match(SEQUENCE);
15325 setState(2407);
15326 _errHandler.sync(this);
15327 _la = _input.LA(1);
15328 if (_la==IF) {
15329 {
15330 setState(2406);
15331 ifExists();
15332 }
15333 }
15334
15335 setState(2409);
15336 sequenceName();
15337 setState(2414);
15338 _errHandler.sync(this);
15339 _la = _input.LA(1);
15340 while (_la==COMMA_) {
15341 {
15342 {
15343 setState(2410);
15344 match(COMMA_);
15345 setState(2411);
15346 sequenceName();
15347 }
15348 }
15349 setState(2416);
15350 _errHandler.sync(this);
15351 _la = _input.LA(1);
15352 }
15353 }
15354 }
15355 catch (RecognitionException re) {
15356 _localctx.exception = re;
15357 _errHandler.reportError(this, re);
15358 _errHandler.recover(this, re);
15359 }
15360 finally {
15361 exitRule();
15362 }
15363 return _localctx;
15364 }
15365
15366 public static class DropServiceContext extends ParserRuleContext {
15367 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15368 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
15369 public ServiceNameContext serviceName() {
15370 return getRuleContext(ServiceNameContext.class,0);
15371 }
15372 public DropServiceContext(ParserRuleContext parent, int invokingState) {
15373 super(parent, invokingState);
15374 }
15375 @Override public int getRuleIndex() { return RULE_dropService; }
15376 @Override
15377 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15378 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropService(this);
15379 else return visitor.visitChildren(this);
15380 }
15381 }
15382
15383 public final DropServiceContext dropService() throws RecognitionException {
15384 DropServiceContext _localctx = new DropServiceContext(_ctx, getState());
15385 enterRule(_localctx, 318, RULE_dropService);
15386 try {
15387 enterOuterAlt(_localctx, 1);
15388 {
15389 setState(2417);
15390 match(DROP);
15391 setState(2418);
15392 match(SERVICE);
15393 setState(2419);
15394 serviceName();
15395 }
15396 }
15397 catch (RecognitionException re) {
15398 _localctx.exception = re;
15399 _errHandler.reportError(this, re);
15400 _errHandler.recover(this, re);
15401 }
15402 finally {
15403 exitRule();
15404 }
15405 return _localctx;
15406 }
15407
15408 public static class DropSchemaContext extends ParserRuleContext {
15409 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15410 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
15411 public SchemaNameContext schemaName() {
15412 return getRuleContext(SchemaNameContext.class,0);
15413 }
15414 public IfExistsContext ifExists() {
15415 return getRuleContext(IfExistsContext.class,0);
15416 }
15417 public DropSchemaContext(ParserRuleContext parent, int invokingState) {
15418 super(parent, invokingState);
15419 }
15420 @Override public int getRuleIndex() { return RULE_dropSchema; }
15421 @Override
15422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15423 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSchema(this);
15424 else return visitor.visitChildren(this);
15425 }
15426 }
15427
15428 public final DropSchemaContext dropSchema() throws RecognitionException {
15429 DropSchemaContext _localctx = new DropSchemaContext(_ctx, getState());
15430 enterRule(_localctx, 320, RULE_dropSchema);
15431 int _la;
15432 try {
15433 enterOuterAlt(_localctx, 1);
15434 {
15435 setState(2421);
15436 match(DROP);
15437 setState(2422);
15438 match(SCHEMA);
15439 setState(2424);
15440 _errHandler.sync(this);
15441 _la = _input.LA(1);
15442 if (_la==IF) {
15443 {
15444 setState(2423);
15445 ifExists();
15446 }
15447 }
15448
15449 setState(2426);
15450 schemaName();
15451 }
15452 }
15453 catch (RecognitionException re) {
15454 _localctx.exception = re;
15455 _errHandler.reportError(this, re);
15456 _errHandler.recover(this, re);
15457 }
15458 finally {
15459 exitRule();
15460 }
15461 return _localctx;
15462 }
15463
15464 public static class TruncateTableContext extends ParserRuleContext {
15465 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
15466 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
15467 public TableNameContext tableName() {
15468 return getRuleContext(TableNameContext.class,0);
15469 }
15470 public TruncateTableContext(ParserRuleContext parent, int invokingState) {
15471 super(parent, invokingState);
15472 }
15473 @Override public int getRuleIndex() { return RULE_truncateTable; }
15474 @Override
15475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTruncateTable(this);
15477 else return visitor.visitChildren(this);
15478 }
15479 }
15480
15481 public final TruncateTableContext truncateTable() throws RecognitionException {
15482 TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
15483 enterRule(_localctx, 322, RULE_truncateTable);
15484 try {
15485 enterOuterAlt(_localctx, 1);
15486 {
15487 setState(2428);
15488 match(TRUNCATE);
15489 setState(2429);
15490 match(TABLE);
15491 setState(2430);
15492 tableName();
15493 }
15494 }
15495 catch (RecognitionException re) {
15496 _localctx.exception = re;
15497 _errHandler.reportError(this, re);
15498 _errHandler.recover(this, re);
15499 }
15500 finally {
15501 exitRule();
15502 }
15503 return _localctx;
15504 }
15505
15506 public static class UpdateStatisticsContext extends ParserRuleContext {
15507 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
15508 public TerminalNode STATISTICS() { return getToken(SQLServerStatementParser.STATISTICS, 0); }
15509 public TableNameContext tableName() {
15510 return getRuleContext(TableNameContext.class,0);
15511 }
15512 public List<IndexNameContext> indexName() {
15513 return getRuleContexts(IndexNameContext.class);
15514 }
15515 public IndexNameContext indexName(int i) {
15516 return getRuleContext(IndexNameContext.class,i);
15517 }
15518 public StatisticsWithClauseContext statisticsWithClause() {
15519 return getRuleContext(StatisticsWithClauseContext.class,0);
15520 }
15521 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15522 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15523 public TerminalNode COMMA_(int i) {
15524 return getToken(SQLServerStatementParser.COMMA_, i);
15525 }
15526 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15527 public UpdateStatisticsContext(ParserRuleContext parent, int invokingState) {
15528 super(parent, invokingState);
15529 }
15530 @Override public int getRuleIndex() { return RULE_updateStatistics; }
15531 @Override
15532 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15533 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdateStatistics(this);
15534 else return visitor.visitChildren(this);
15535 }
15536 }
15537
15538 public final UpdateStatisticsContext updateStatistics() throws RecognitionException {
15539 UpdateStatisticsContext _localctx = new UpdateStatisticsContext(_ctx, getState());
15540 enterRule(_localctx, 324, RULE_updateStatistics);
15541 int _la;
15542 try {
15543 enterOuterAlt(_localctx, 1);
15544 {
15545 setState(2432);
15546 match(UPDATE);
15547 setState(2433);
15548 match(STATISTICS);
15549 setState(2434);
15550 tableName();
15551 setState(2449);
15552 _errHandler.sync(this);
15553 _la = _input.LA(1);
15554 if (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (TRUNCATE - 31)) | (1L << (SCHEMA - 31)) | (1L << (COLUMNS - 31)) | (1L << (PRECISION - 31)) | (1L << (FUNCTION - 31)) | (1L << (TRIGGER - 31)) | (1L << (CAST - 31)) | (1L << (TRIM - 31)) | (1L << (SUBSTRING - 31)) | (1L << (RIGHT - 31)))) != 0) || ((((_la - 98)) & ~0x3f) == 0 && ((1L << (_la - 98)) & ((1L << (OFF - 98)) | (1L << (GROUP - 98)) | (1L << (LIMIT - 98)) | (1L << (OFFSET - 98)) | (1L << (SAVEPOINT - 98)) | (1L << (BOOLEAN - 98)) | (1L << (ARRAY - 98)) | (1L << (DATE - 98)) | (1L << (TIMESTAMP - 98)) | (1L << (LOCALTIME - 98)) | (1L << (LOCALTIMESTAMP - 98)) | (1L << (YEAR - 98)) | (1L << (QUARTER - 98)) | (1L << (MONTH - 98)) | (1L << (WEEK - 98)) | (1L << (DAY - 98)) | (1L << (SECOND - 98)) | (1L << (MICROSECOND - 98)) | (1L << (MAX - 98)) | (1L << (MIN - 98)) | (1L << (SUM - 98)) | (1L << (COUNT - 98)) | (1L << (AVG - 98)) | (1L << (ENABLE - 98)) | (1L << (DISABLE - 98)) | (1L << (INSTANCE - 98)) | (1L << (DO - 98)))) != 0) || ((((_la - 162)) & ~0x3f) == 0 && ((1L << (_la - 162)) & ((1L << (DEFINER - 162)) | (1L << (SQL - 162)) | (1L << (CASCADED - 162)) | (1L << (LOCAL - 162)) | (1L << (NEXT - 162)) | (1L << (NAME - 162)) | (1L << (INTEGER - 162)) | (1L << (TYPE - 162)) | (1L << (TEXT - 162)) | (1L << (VIEWS - 162)) | (1L << (READ_ONLY - 162)) | (1L << (DATABASE - 162)) | (1L << (RETURNS - 162)) | (1L << (DATEPART - 162)) | (1L << (PASSWORD - 162)))) != 0) || ((((_la - 242)) & ~0x3f) == 0 && ((1L << (_la - 242)) & ((1L << (BINARY - 242)) | (1L << (HIDDEN_ - 242)) | (1L << (MOD - 242)) | (1L << (PARTITION - 242)) | (1L << (PARTITIONS - 242)) | (1L << (TOP - 242)) | (1L << (ROW - 242)) | (1L << (ROWS - 242)) | (1L << (XOR - 242)) | (1L << (ALWAYS - 242)) | (1L << (USER - 242)) | (1L << (ROLE - 242)) | (1L << (START - 242)) | (1L << (ALGORITHM - 242)) | (1L << (AUTO - 242)) | (1L << (BLOCKERS - 242)) | (1L << (CLUSTERED - 242)) | (1L << (NONCLUSTERED - 242)) | (1L << (COLUMNSTORE - 242)) | (1L << (CONTENT - 242)) | (1L << (YEARS - 242)) | (1L << (MONTHS - 242)) | (1L << (WEEKS - 242)) | (1L << (DAYS - 242)) | (1L << (MINUTES - 242)) | (1L << (DENY - 242)) | (1L << (DETERMINISTIC - 242)) | (1L << (DISTRIBUTION - 242)) | (1L << (DOCUMENT - 242)) | (1L << (DURABILITY - 242)) | (1L << (ENCRYPTED - 242)) | (1L << (FILESTREAM - 242)) | (1L << (FILETABLE - 242)) | (1L << (FILLFACTOR - 242)) | (1L << (FOLLOWING - 242)) | (1L << (HASH - 242)) | (1L << (HEAP - 242)) | (1L << (INBOUND - 242)) | (1L << (OUTBOUND - 242)) | (1L << (UNBOUNDED - 242)) | (1L << (INFINITE - 242)) | (1L << (LOGIN - 242)) | (1L << (MASKED - 242)) | (1L << (MAXDOP - 242)) | (1L << (MOVE - 242)) | (1L << (NOCHECK - 242)) | (1L << (OBJECT - 242)) | (1L << (ONLINE - 242)))) != 0) || ((((_la - 306)) & ~0x3f) == 0 && ((1L << (_la - 306)) & ((1L << (OVER - 306)) | (1L << (PAGE - 306)) | (1L << (PAUSED - 306)) | (1L << (PERIOD - 306)) | (1L << (PERSISTED - 306)) | (1L << (PRECEDING - 306)) | (1L << (RANDOMIZED - 306)) | (1L << (RANGE - 306)) | (1L << (REBUILD - 306)) | (1L << (REPLICATE - 306)) | (1L << (REPLICATION - 306)) | (1L << (RESUMABLE - 306)) | (1L << (ROWGUIDCOL - 306)) | (1L << (SAVE - 306)) | (1L << (SELF - 306)) | (1L << (SPARSE - 306)) | (1L << (SWITCH - 306)) | (1L << (TRAN - 306)) | (1L << (TRANCOUNT - 306)) | (1L << (CONTROL - 306)) | (1L << (CONCAT - 306)) | (1L << (TAKE - 306)) | (1L << (OWNERSHIP - 306)) | (1L << (DEFINITION - 306)) | (1L << (APPLICATION - 306)) | (1L << (ASSEMBLY - 306)) | (1L << (SYMMETRIC - 306)) | (1L << (ASYMMETRIC - 306)) | (1L << (SERVER - 306)) | (1L << (RECEIVE - 306)) | (1L << (CHANGE - 306)) | (1L << (TRACE - 306)) | (1L << (TRACKING - 306)) | (1L << (RESOURCES - 306)) | (1L << (SETTINGS - 306)) | (1L << (STATE - 306)) | (1L << (AVAILABILITY - 306)) | (1L << (CREDENTIAL - 306)) | (1L << (ENDPOINT - 306)) | (1L << (EVENT - 306)) | (1L << (NOTIFICATION - 306)) | (1L << (LINKED - 306)) | (1L << (AUDIT - 306)) | (1L << (DDL - 306)) | (1L << (XML - 306)) | (1L << (IMPERSONATE - 306)) | (1L << (SECURABLES - 306)) | (1L << (AUTHENTICATE - 306)) | (1L << (EXTERNAL - 306)) | (1L << (ACCESS - 306)) | (1L << (ADMINISTER - 306)) | (1L << (BULK - 306)) | (1L << (OPERATIONS - 306)) | (1L << (UNSAFE - 306)) | (1L << (SHUTDOWN - 306)) | (1L << (SCOPED - 306)) | (1L << (CONFIGURATION - 306)))) != 0) || ((((_la - 370)) & ~0x3f) == 0 && ((1L << (_la - 370)) & ((1L << (DATASPACE - 370)) | (1L << (SERVICE - 370)) | (1L << (CERTIFICATE - 370)) | (1L << (CONTRACT - 370)) | (1L << (ENCRYPTION - 370)) | (1L << (MASTER - 370)) | (1L << (DATA - 370)) | (1L << (SOURCE - 370)) | (1L << (FILE - 370)) | (1L << (FORMAT - 370)) | (1L << (LIBRARY - 370)) | (1L << (FULLTEXT - 370)) | (1L << (MASK - 370)) | (1L << (UNMASK - 370)) | (1L << (MESSAGE - 370)) | (1L << (REMOTE - 370)) | (1L << (BINDING - 370)) | (1L << (ROUTE - 370)) | (1L << (SECURITY - 370)) | (1L << (POLICY - 370)) | (1L << (AGGREGATE - 370)) | (1L << (QUEUE - 370)) | (1L << (RULE - 370)) | (1L << (SYNONYM - 370)) | (1L << (COLLECTION - 370)) | (1L << (SCRIPT - 370)) | (1L << (KILL - 370)) | (1L << (BACKUP - 370)) | (1L << (LOG - 370)) | (1L << (SHOWPLAN - 370)) | (1L << (SUBSCRIBE - 370)) | (1L << (QUERY - 370)) | (1L << (NOTIFICATIONS - 370)) | (1L << (CHECKPOINT - 370)) | (1L << (SEQUENCE - 370)) | (1L << (ABORT_AFTER_WAIT - 370)) | (1L << (ALLOW_PAGE_LOCKS - 370)) | (1L << (ALLOW_ROW_LOCKS - 370)) | (1L << (ALL_SPARSE_COLUMNS - 370)) | (1L << (BUCKET_COUNT - 370)) | (1L << (COLUMNSTORE_ARCHIVE - 370)) | (1L << (COLUMN_ENCRYPTION_KEY - 370)) | (1L << (COLUMN_SET - 370)) | (1L << (COMPRESSION_DELAY - 370)) | (1L << (DATABASE_DEAULT - 370)) | (1L << (DATA_COMPRESSION - 370)) | (1L << (DATA_CONSISTENCY_CHECK - 370)) | (1L << (ENCRYPTION_TYPE - 370)) | (1L << (SYSTEM_TIME - 370)) | (1L << (SYSTEM_VERSIONING - 370)) | (1L << (TEXTIMAGE_ON - 370)) | (1L << (WAIT_AT_LOW_PRIORITY - 370)) | (1L << (STATISTICS_INCREMENTAL - 370)) | (1L << (STATISTICS_NORECOMPUTE - 370)) | (1L << (ROUND_ROBIN - 370)) | (1L << (SCHEMA_AND_DATA - 370)) | (1L << (SCHEMA_ONLY - 370)) | (1L << (SORT_IN_TEMPDB - 370)) | (1L << (IGNORE_DUP_KEY - 370)) | (1L << (IMPLICIT_TRANSACTIONS - 370)) | (1L << (MAX_DURATION - 370)) | (1L << (MEMORY_OPTIMIZED - 370)) | (1L << (MIGRATION_STATE - 370)) | (1L << (PAD_INDEX - 370)))) != 0) || ((((_la - 434)) & ~0x3f) == 0 && ((1L << (_la - 434)) & ((1L << (REMOTE_DATA_ARCHIVE - 434)) | (1L << (FILESTREAM_ON - 434)) | (1L << (FILETABLE_COLLATE_FILENAME - 434)) | (1L << (FILETABLE_DIRECTORY - 434)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 434)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 434)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 434)) | (1L << (FILTER_PREDICATE - 434)) | (1L << (HISTORY_RETENTION_PERIOD - 434)) | (1L << (HISTORY_TABLE - 434)) | (1L << (LOCK_ESCALATION - 434)) | (1L << (DROP_EXISTING - 434)) | (1L << (ROW_NUMBER - 434)) | (1L << (FIRST - 434)) | (1L << (DATETIME2 - 434)) | (1L << (OUTPUT - 434)) | (1L << (INSERTED - 434)) | (1L << (DELETED - 434)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
15555 {
15556 setState(2436);
15557 _errHandler.sync(this);
15558 _la = _input.LA(1);
15559 if (_la==LP_) {
15560 {
15561 setState(2435);
15562 match(LP_);
15563 }
15564 }
15565
15566 setState(2438);
15567 indexName();
15568 setState(2443);
15569 _errHandler.sync(this);
15570 _la = _input.LA(1);
15571 while (_la==COMMA_) {
15572 {
15573 {
15574 setState(2439);
15575 match(COMMA_);
15576 setState(2440);
15577 indexName();
15578 }
15579 }
15580 setState(2445);
15581 _errHandler.sync(this);
15582 _la = _input.LA(1);
15583 }
15584 setState(2447);
15585 _errHandler.sync(this);
15586 _la = _input.LA(1);
15587 if (_la==RP_) {
15588 {
15589 setState(2446);
15590 match(RP_);
15591 }
15592 }
15593
15594 }
15595 }
15596
15597 setState(2452);
15598 _errHandler.sync(this);
15599 _la = _input.LA(1);
15600 if (_la==WITH) {
15601 {
15602 setState(2451);
15603 statisticsWithClause();
15604 }
15605 }
15606
15607 }
15608 }
15609 catch (RecognitionException re) {
15610 _localctx.exception = re;
15611 _errHandler.reportError(this, re);
15612 _errHandler.recover(this, re);
15613 }
15614 finally {
15615 exitRule();
15616 }
15617 return _localctx;
15618 }
15619
15620 public static class StatisticsWithClauseContext extends ParserRuleContext {
15621 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
15622 public SampleOptionContext sampleOption() {
15623 return getRuleContext(SampleOptionContext.class,0);
15624 }
15625 public StatisticsOptionsContext statisticsOptions() {
15626 return getRuleContext(StatisticsOptionsContext.class,0);
15627 }
15628 public StatisticsWithClauseContext(ParserRuleContext parent, int invokingState) {
15629 super(parent, invokingState);
15630 }
15631 @Override public int getRuleIndex() { return RULE_statisticsWithClause; }
15632 @Override
15633 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15634 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsWithClause(this);
15635 else return visitor.visitChildren(this);
15636 }
15637 }
15638
15639 public final StatisticsWithClauseContext statisticsWithClause() throws RecognitionException {
15640 StatisticsWithClauseContext _localctx = new StatisticsWithClauseContext(_ctx, getState());
15641 enterRule(_localctx, 326, RULE_statisticsWithClause);
15642 int _la;
15643 try {
15644 enterOuterAlt(_localctx, 1);
15645 {
15646 setState(2454);
15647 match(WITH);
15648 setState(2456);
15649 _errHandler.sync(this);
15650 _la = _input.LA(1);
15651 if (((((_la - 712)) & ~0x3f) == 0 && ((1L << (_la - 712)) & ((1L << (FULLSCAN - 712)) | (1L << (SAMPLE - 712)) | (1L << (RESAMPLE - 712)))) != 0)) {
15652 {
15653 setState(2455);
15654 sampleOption();
15655 }
15656 }
15657
15658 setState(2459);
15659 _errHandler.sync(this);
15660 _la = _input.LA(1);
15661 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP) {
15662 {
15663 setState(2458);
15664 statisticsOptions();
15665 }
15666 }
15667
15668 }
15669 }
15670 catch (RecognitionException re) {
15671 _localctx.exception = re;
15672 _errHandler.reportError(this, re);
15673 _errHandler.recover(this, re);
15674 }
15675 finally {
15676 exitRule();
15677 }
15678 return _localctx;
15679 }
15680
15681 public static class SampleOptionContext extends ParserRuleContext {
15682 public TerminalNode FULLSCAN() { return getToken(SQLServerStatementParser.FULLSCAN, 0); }
15683 public TerminalNode PERSIST_SAMPLE_PERCENT() { return getToken(SQLServerStatementParser.PERSIST_SAMPLE_PERCENT, 0); }
15684 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15685 public TerminalNode SAMPLE() { return getToken(SQLServerStatementParser.SAMPLE, 0); }
15686 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
15687 public TerminalNode NUMBER_(int i) {
15688 return getToken(SQLServerStatementParser.NUMBER_, i);
15689 }
15690 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15691 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
15692 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
15693 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
15694 public TerminalNode RESAMPLE() { return getToken(SQLServerStatementParser.RESAMPLE, 0); }
15695 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
15696 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15697 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15698 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15699 public TerminalNode COMMA_(int i) {
15700 return getToken(SQLServerStatementParser.COMMA_, i);
15701 }
15702 public SampleOptionContext(ParserRuleContext parent, int invokingState) {
15703 super(parent, invokingState);
15704 }
15705 @Override public int getRuleIndex() { return RULE_sampleOption; }
15706 @Override
15707 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15708 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSampleOption(this);
15709 else return visitor.visitChildren(this);
15710 }
15711 }
15712
15713 public final SampleOptionContext sampleOption() throws RecognitionException {
15714 SampleOptionContext _localctx = new SampleOptionContext(_ctx, getState());
15715 enterRule(_localctx, 328, RULE_sampleOption);
15716 int _la;
15717 try {
15718 setState(2487);
15719 _errHandler.sync(this);
15720 switch (_input.LA(1)) {
15721 case FULLSCAN:
15722 case SAMPLE:
15723 enterOuterAlt(_localctx, 1);
15724 {
15725 setState(2465);
15726 _errHandler.sync(this);
15727 switch (_input.LA(1)) {
15728 case FULLSCAN:
15729 {
15730 setState(2461);
15731 match(FULLSCAN);
15732 }
15733 break;
15734 case SAMPLE:
15735 {
15736 {
15737 setState(2462);
15738 match(SAMPLE);
15739 setState(2463);
15740 match(NUMBER_);
15741 setState(2464);
15742 _la = _input.LA(1);
15743 if ( !(_la==PERCENT || _la==ROWS) ) {
15744 _errHandler.recoverInline(this);
15745 }
15746 else {
15747 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15748 _errHandler.reportMatch(this);
15749 consume();
15750 }
15751 }
15752 }
15753 break;
15754 default:
15755 throw new NoViableAltException(this);
15756 }
15757 setState(2470);
15758 _errHandler.sync(this);
15759 _la = _input.LA(1);
15760 if (_la==PERSIST_SAMPLE_PERCENT) {
15761 {
15762 setState(2467);
15763 match(PERSIST_SAMPLE_PERCENT);
15764 setState(2468);
15765 match(EQ_);
15766 setState(2469);
15767 _la = _input.LA(1);
15768 if ( !(_la==ON || _la==OFF) ) {
15769 _errHandler.recoverInline(this);
15770 }
15771 else {
15772 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15773 _errHandler.reportMatch(this);
15774 consume();
15775 }
15776 }
15777 }
15778
15779 }
15780 break;
15781 case RESAMPLE:
15782 enterOuterAlt(_localctx, 2);
15783 {
15784 setState(2472);
15785 match(RESAMPLE);
15786 setState(2485);
15787 _errHandler.sync(this);
15788 _la = _input.LA(1);
15789 if (_la==ON) {
15790 {
15791 setState(2473);
15792 match(ON);
15793 setState(2474);
15794 match(PARTITIONS);
15795 setState(2475);
15796 match(LP_);
15797 setState(2476);
15798 match(NUMBER_);
15799 setState(2481);
15800 _errHandler.sync(this);
15801 _la = _input.LA(1);
15802 while (_la==COMMA_) {
15803 {
15804 {
15805 setState(2477);
15806 match(COMMA_);
15807 setState(2478);
15808 match(NUMBER_);
15809 }
15810 }
15811 setState(2483);
15812 _errHandler.sync(this);
15813 _la = _input.LA(1);
15814 }
15815 setState(2484);
15816 match(RP_);
15817 }
15818 }
15819
15820 }
15821 break;
15822 default:
15823 throw new NoViableAltException(this);
15824 }
15825 }
15826 catch (RecognitionException re) {
15827 _localctx.exception = re;
15828 _errHandler.reportError(this, re);
15829 _errHandler.recover(this, re);
15830 }
15831 finally {
15832 exitRule();
15833 }
15834 return _localctx;
15835 }
15836
15837 public static class StatisticsOptionsContext extends ParserRuleContext {
15838 public List<StatisticsOptionContext> statisticsOption() {
15839 return getRuleContexts(StatisticsOptionContext.class);
15840 }
15841 public StatisticsOptionContext statisticsOption(int i) {
15842 return getRuleContext(StatisticsOptionContext.class,i);
15843 }
15844 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15845 public TerminalNode COMMA_(int i) {
15846 return getToken(SQLServerStatementParser.COMMA_, i);
15847 }
15848 public StatisticsOptionsContext(ParserRuleContext parent, int invokingState) {
15849 super(parent, invokingState);
15850 }
15851 @Override public int getRuleIndex() { return RULE_statisticsOptions; }
15852 @Override
15853 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15854 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOptions(this);
15855 else return visitor.visitChildren(this);
15856 }
15857 }
15858
15859 public final StatisticsOptionsContext statisticsOptions() throws RecognitionException {
15860 StatisticsOptionsContext _localctx = new StatisticsOptionsContext(_ctx, getState());
15861 enterRule(_localctx, 330, RULE_statisticsOptions);
15862 int _la;
15863 try {
15864 enterOuterAlt(_localctx, 1);
15865 {
15866 setState(2493);
15867 _errHandler.sync(this);
15868 _la = _input.LA(1);
15869 do {
15870 {
15871 {
15872 setState(2490);
15873 _errHandler.sync(this);
15874 _la = _input.LA(1);
15875 if (_la==COMMA_) {
15876 {
15877 setState(2489);
15878 match(COMMA_);
15879 }
15880 }
15881
15882 setState(2492);
15883 statisticsOption();
15884 }
15885 }
15886 setState(2495);
15887 _errHandler.sync(this);
15888 _la = _input.LA(1);
15889 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP );
15890 }
15891 }
15892 catch (RecognitionException re) {
15893 _localctx.exception = re;
15894 _errHandler.reportError(this, re);
15895 _errHandler.recover(this, re);
15896 }
15897 finally {
15898 exitRule();
15899 }
15900 return _localctx;
15901 }
15902
15903 public static class StatisticsOptionContext extends ParserRuleContext {
15904 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
15905 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
15906 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
15907 public TerminalNode NORECOMPUTE() { return getToken(SQLServerStatementParser.NORECOMPUTE, 0); }
15908 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
15909 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15910 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15911 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
15912 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
15913 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
15914 public TerminalNode AUTO_DROP() { return getToken(SQLServerStatementParser.AUTO_DROP, 0); }
15915 public StatisticsOptionContext(ParserRuleContext parent, int invokingState) {
15916 super(parent, invokingState);
15917 }
15918 @Override public int getRuleIndex() { return RULE_statisticsOption; }
15919 @Override
15920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOption(this);
15922 else return visitor.visitChildren(this);
15923 }
15924 }
15925
15926 public final StatisticsOptionContext statisticsOption() throws RecognitionException {
15927 StatisticsOptionContext _localctx = new StatisticsOptionContext(_ctx, getState());
15928 enterRule(_localctx, 332, RULE_statisticsOption);
15929 int _la;
15930 try {
15931 setState(2510);
15932 _errHandler.sync(this);
15933 switch (_input.LA(1)) {
15934 case ALL:
15935 enterOuterAlt(_localctx, 1);
15936 {
15937 setState(2497);
15938 match(ALL);
15939 }
15940 break;
15941 case COLUMNS:
15942 enterOuterAlt(_localctx, 2);
15943 {
15944 setState(2498);
15945 match(COLUMNS);
15946 }
15947 break;
15948 case INDEX:
15949 enterOuterAlt(_localctx, 3);
15950 {
15951 setState(2499);
15952 match(INDEX);
15953 }
15954 break;
15955 case NORECOMPUTE:
15956 enterOuterAlt(_localctx, 4);
15957 {
15958 setState(2500);
15959 match(NORECOMPUTE);
15960 }
15961 break;
15962 case INCREMENTAL:
15963 enterOuterAlt(_localctx, 5);
15964 {
15965 setState(2501);
15966 match(INCREMENTAL);
15967 setState(2502);
15968 match(EQ_);
15969 setState(2503);
15970 _la = _input.LA(1);
15971 if ( !(_la==ON || _la==OFF) ) {
15972 _errHandler.recoverInline(this);
15973 }
15974 else {
15975 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15976 _errHandler.reportMatch(this);
15977 consume();
15978 }
15979 }
15980 break;
15981 case MAXDOP:
15982 enterOuterAlt(_localctx, 6);
15983 {
15984 setState(2504);
15985 match(MAXDOP);
15986 setState(2505);
15987 match(EQ_);
15988 setState(2506);
15989 match(NUMBER_);
15990 }
15991 break;
15992 case AUTO_DROP:
15993 enterOuterAlt(_localctx, 7);
15994 {
15995 setState(2507);
15996 match(AUTO_DROP);
15997 setState(2508);
15998 match(EQ_);
15999 setState(2509);
16000 _la = _input.LA(1);
16001 if ( !(_la==ON || _la==OFF) ) {
16002 _errHandler.recoverInline(this);
16003 }
16004 else {
16005 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16006 _errHandler.reportMatch(this);
16007 consume();
16008 }
16009 }
16010 break;
16011 default:
16012 throw new NoViableAltException(this);
16013 }
16014 }
16015 catch (RecognitionException re) {
16016 _localctx.exception = re;
16017 _errHandler.reportError(this, re);
16018 _errHandler.recover(this, re);
16019 }
16020 finally {
16021 exitRule();
16022 }
16023 return _localctx;
16024 }
16025
16026 public static class FileTableClauseContext extends ParserRuleContext {
16027 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
16028 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
16029 public FileTableClauseContext(ParserRuleContext parent, int invokingState) {
16030 super(parent, invokingState);
16031 }
16032 @Override public int getRuleIndex() { return RULE_fileTableClause; }
16033 @Override
16034 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16035 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileTableClause(this);
16036 else return visitor.visitChildren(this);
16037 }
16038 }
16039
16040 public final FileTableClauseContext fileTableClause() throws RecognitionException {
16041 FileTableClauseContext _localctx = new FileTableClauseContext(_ctx, getState());
16042 enterRule(_localctx, 334, RULE_fileTableClause);
16043 int _la;
16044 try {
16045 enterOuterAlt(_localctx, 1);
16046 {
16047 setState(2514);
16048 _errHandler.sync(this);
16049 _la = _input.LA(1);
16050 if (_la==AS) {
16051 {
16052 setState(2512);
16053 match(AS);
16054 setState(2513);
16055 match(FILETABLE);
16056 }
16057 }
16058
16059 }
16060 }
16061 catch (RecognitionException re) {
16062 _localctx.exception = re;
16063 _errHandler.reportError(this, re);
16064 _errHandler.recover(this, re);
16065 }
16066 finally {
16067 exitRule();
16068 }
16069 return _localctx;
16070 }
16071
16072 public static class CreateDefinitionClauseContext extends ParserRuleContext {
16073 public CreateTableDefinitionsContext createTableDefinitions() {
16074 return getRuleContext(CreateTableDefinitionsContext.class,0);
16075 }
16076 public PartitionSchemeContext partitionScheme() {
16077 return getRuleContext(PartitionSchemeContext.class,0);
16078 }
16079 public FileGroupContext fileGroup() {
16080 return getRuleContext(FileGroupContext.class,0);
16081 }
16082 public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
16083 super(parent, invokingState);
16084 }
16085 @Override public int getRuleIndex() { return RULE_createDefinitionClause; }
16086 @Override
16087 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16088 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDefinitionClause(this);
16089 else return visitor.visitChildren(this);
16090 }
16091 }
16092
16093 public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
16094 CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
16095 enterRule(_localctx, 336, RULE_createDefinitionClause);
16096 try {
16097 enterOuterAlt(_localctx, 1);
16098 {
16099 setState(2516);
16100 createTableDefinitions();
16101 setState(2517);
16102 partitionScheme();
16103 setState(2518);
16104 fileGroup();
16105 }
16106 }
16107 catch (RecognitionException re) {
16108 _localctx.exception = re;
16109 _errHandler.reportError(this, re);
16110 _errHandler.recover(this, re);
16111 }
16112 finally {
16113 exitRule();
16114 }
16115 return _localctx;
16116 }
16117
16118 public static class CreateTableDefinitionsContext extends ParserRuleContext {
16119 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16120 public List<CreateTableDefinitionContext> createTableDefinition() {
16121 return getRuleContexts(CreateTableDefinitionContext.class);
16122 }
16123 public CreateTableDefinitionContext createTableDefinition(int i) {
16124 return getRuleContext(CreateTableDefinitionContext.class,i);
16125 }
16126 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16127 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16128 public TerminalNode COMMA_(int i) {
16129 return getToken(SQLServerStatementParser.COMMA_, i);
16130 }
16131 public PeriodClauseContext periodClause() {
16132 return getRuleContext(PeriodClauseContext.class,0);
16133 }
16134 public CreateTableDefinitionsContext(ParserRuleContext parent, int invokingState) {
16135 super(parent, invokingState);
16136 }
16137 @Override public int getRuleIndex() { return RULE_createTableDefinitions; }
16138 @Override
16139 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16140 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinitions(this);
16141 else return visitor.visitChildren(this);
16142 }
16143 }
16144
16145 public final CreateTableDefinitionsContext createTableDefinitions() throws RecognitionException {
16146 CreateTableDefinitionsContext _localctx = new CreateTableDefinitionsContext(_ctx, getState());
16147 enterRule(_localctx, 338, RULE_createTableDefinitions);
16148 int _la;
16149 try {
16150 int _alt;
16151 enterOuterAlt(_localctx, 1);
16152 {
16153 setState(2520);
16154 match(LP_);
16155 setState(2521);
16156 createTableDefinition();
16157 setState(2526);
16158 _errHandler.sync(this);
16159 _alt = getInterpreter().adaptivePredict(_input,186,_ctx);
16160 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16161 if ( _alt==1 ) {
16162 {
16163 {
16164 setState(2522);
16165 match(COMMA_);
16166 setState(2523);
16167 createTableDefinition();
16168 }
16169 }
16170 }
16171 setState(2528);
16172 _errHandler.sync(this);
16173 _alt = getInterpreter().adaptivePredict(_input,186,_ctx);
16174 }
16175 setState(2531);
16176 _errHandler.sync(this);
16177 _la = _input.LA(1);
16178 if (_la==COMMA_) {
16179 {
16180 setState(2529);
16181 match(COMMA_);
16182 setState(2530);
16183 periodClause();
16184 }
16185 }
16186
16187 setState(2533);
16188 match(RP_);
16189 }
16190 }
16191 catch (RecognitionException re) {
16192 _localctx.exception = re;
16193 _errHandler.reportError(this, re);
16194 _errHandler.recover(this, re);
16195 }
16196 finally {
16197 exitRule();
16198 }
16199 return _localctx;
16200 }
16201
16202 public static class CreateTableDefinitionContext extends ParserRuleContext {
16203 public ColumnDefinitionContext columnDefinition() {
16204 return getRuleContext(ColumnDefinitionContext.class,0);
16205 }
16206 public ComputedColumnDefinitionContext computedColumnDefinition() {
16207 return getRuleContext(ComputedColumnDefinitionContext.class,0);
16208 }
16209 public ColumnSetDefinitionContext columnSetDefinition() {
16210 return getRuleContext(ColumnSetDefinitionContext.class,0);
16211 }
16212 public TableConstraintContext tableConstraint() {
16213 return getRuleContext(TableConstraintContext.class,0);
16214 }
16215 public TableIndexContext tableIndex() {
16216 return getRuleContext(TableIndexContext.class,0);
16217 }
16218 public CreateTableDefinitionContext(ParserRuleContext parent, int invokingState) {
16219 super(parent, invokingState);
16220 }
16221 @Override public int getRuleIndex() { return RULE_createTableDefinition; }
16222 @Override
16223 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16224 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinition(this);
16225 else return visitor.visitChildren(this);
16226 }
16227 }
16228
16229 public final CreateTableDefinitionContext createTableDefinition() throws RecognitionException {
16230 CreateTableDefinitionContext _localctx = new CreateTableDefinitionContext(_ctx, getState());
16231 enterRule(_localctx, 340, RULE_createTableDefinition);
16232 try {
16233 setState(2540);
16234 _errHandler.sync(this);
16235 switch ( getInterpreter().adaptivePredict(_input,188,_ctx) ) {
16236 case 1:
16237 enterOuterAlt(_localctx, 1);
16238 {
16239 setState(2535);
16240 columnDefinition();
16241 }
16242 break;
16243 case 2:
16244 enterOuterAlt(_localctx, 2);
16245 {
16246 setState(2536);
16247 computedColumnDefinition();
16248 }
16249 break;
16250 case 3:
16251 enterOuterAlt(_localctx, 3);
16252 {
16253 setState(2537);
16254 columnSetDefinition();
16255 }
16256 break;
16257 case 4:
16258 enterOuterAlt(_localctx, 4);
16259 {
16260 setState(2538);
16261 tableConstraint();
16262 }
16263 break;
16264 case 5:
16265 enterOuterAlt(_localctx, 5);
16266 {
16267 setState(2539);
16268 tableIndex();
16269 }
16270 break;
16271 }
16272 }
16273 catch (RecognitionException re) {
16274 _localctx.exception = re;
16275 _errHandler.reportError(this, re);
16276 _errHandler.recover(this, re);
16277 }
16278 finally {
16279 exitRule();
16280 }
16281 return _localctx;
16282 }
16283
16284 public static class ColumnDefinitionContext extends ParserRuleContext {
16285 public ColumnNameContext columnName() {
16286 return getRuleContext(ColumnNameContext.class,0);
16287 }
16288 public DataTypeContext dataType() {
16289 return getRuleContext(DataTypeContext.class,0);
16290 }
16291 public ColumnConstraintsContext columnConstraints() {
16292 return getRuleContext(ColumnConstraintsContext.class,0);
16293 }
16294 public List<ColumnDefinitionOptionContext> columnDefinitionOption() {
16295 return getRuleContexts(ColumnDefinitionOptionContext.class);
16296 }
16297 public ColumnDefinitionOptionContext columnDefinitionOption(int i) {
16298 return getRuleContext(ColumnDefinitionOptionContext.class,i);
16299 }
16300 public ColumnIndexContext columnIndex() {
16301 return getRuleContext(ColumnIndexContext.class,0);
16302 }
16303 public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
16304 super(parent, invokingState);
16305 }
16306 @Override public int getRuleIndex() { return RULE_columnDefinition; }
16307 @Override
16308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinition(this);
16310 else return visitor.visitChildren(this);
16311 }
16312 }
16313
16314 public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
16315 ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
16316 enterRule(_localctx, 342, RULE_columnDefinition);
16317 int _la;
16318 try {
16319 int _alt;
16320 enterOuterAlt(_localctx, 1);
16321 {
16322 setState(2542);
16323 columnName();
16324 setState(2543);
16325 dataType();
16326 setState(2547);
16327 _errHandler.sync(this);
16328 _alt = getInterpreter().adaptivePredict(_input,189,_ctx);
16329 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16330 if ( _alt==1 ) {
16331 {
16332 {
16333 setState(2544);
16334 columnDefinitionOption();
16335 }
16336 }
16337 }
16338 setState(2549);
16339 _errHandler.sync(this);
16340 _alt = getInterpreter().adaptivePredict(_input,189,_ctx);
16341 }
16342 setState(2550);
16343 columnConstraints();
16344 setState(2552);
16345 _errHandler.sync(this);
16346 _la = _input.LA(1);
16347 if (_la==INDEX) {
16348 {
16349 setState(2551);
16350 columnIndex();
16351 }
16352 }
16353
16354 }
16355 }
16356 catch (RecognitionException re) {
16357 _localctx.exception = re;
16358 _errHandler.reportError(this, re);
16359 _errHandler.recover(this, re);
16360 }
16361 finally {
16362 exitRule();
16363 }
16364 return _localctx;
16365 }
16366
16367 public static class ColumnDefinitionOptionContext extends ParserRuleContext {
16368 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
16369 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
16370 public CollationNameContext collationName() {
16371 return getRuleContext(CollationNameContext.class,0);
16372 }
16373 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
16374 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
16375 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16376 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16377 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
16378 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
16379 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16380 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16381 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
16382 public ExprContext expr() {
16383 return getRuleContext(ExprContext.class,0);
16384 }
16385 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16386 public IgnoredIdentifierContext ignoredIdentifier() {
16387 return getRuleContext(IgnoredIdentifierContext.class,0);
16388 }
16389 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
16390 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
16391 public TerminalNode NUMBER_(int i) {
16392 return getToken(SQLServerStatementParser.NUMBER_, i);
16393 }
16394 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16395 public TerminalNode COMMA_(int i) {
16396 return getToken(SQLServerStatementParser.COMMA_, i);
16397 }
16398 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16399 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16400 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16401 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
16402 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
16403 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
16404 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
16405 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
16406 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
16407 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
16408 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
16409 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
16410 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
16411 public EncryptedOptionsContext encryptedOptions() {
16412 return getRuleContext(EncryptedOptionsContext.class,0);
16413 }
16414 public List<ColumnConstraintContext> columnConstraint() {
16415 return getRuleContexts(ColumnConstraintContext.class);
16416 }
16417 public ColumnConstraintContext columnConstraint(int i) {
16418 return getRuleContext(ColumnConstraintContext.class,i);
16419 }
16420 public ColumnIndexContext columnIndex() {
16421 return getRuleContext(ColumnIndexContext.class,0);
16422 }
16423 public ColumnDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
16424 super(parent, invokingState);
16425 }
16426 @Override public int getRuleIndex() { return RULE_columnDefinitionOption; }
16427 @Override
16428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinitionOption(this);
16430 else return visitor.visitChildren(this);
16431 }
16432 }
16433
16434 public final ColumnDefinitionOptionContext columnDefinitionOption() throws RecognitionException {
16435 ColumnDefinitionOptionContext _localctx = new ColumnDefinitionOptionContext(_ctx, getState());
16436 enterRule(_localctx, 344, RULE_columnDefinitionOption);
16437 int _la;
16438 try {
16439 int _alt;
16440 setState(2607);
16441 _errHandler.sync(this);
16442 switch ( getInterpreter().adaptivePredict(_input,196,_ctx) ) {
16443 case 1:
16444 enterOuterAlt(_localctx, 1);
16445 {
16446 setState(2554);
16447 match(FILESTREAM);
16448 }
16449 break;
16450 case 2:
16451 enterOuterAlt(_localctx, 2);
16452 {
16453 setState(2555);
16454 match(COLLATE);
16455 setState(2556);
16456 collationName();
16457 }
16458 break;
16459 case 3:
16460 enterOuterAlt(_localctx, 3);
16461 {
16462 setState(2557);
16463 match(SPARSE);
16464 }
16465 break;
16466 case 4:
16467 enterOuterAlt(_localctx, 4);
16468 {
16469 setState(2558);
16470 match(MASKED);
16471 setState(2559);
16472 match(WITH);
16473 setState(2560);
16474 match(LP_);
16475 setState(2561);
16476 match(FUNCTION);
16477 setState(2562);
16478 match(EQ_);
16479 setState(2563);
16480 match(STRING_);
16481 setState(2564);
16482 match(RP_);
16483 }
16484 break;
16485 case 5:
16486 enterOuterAlt(_localctx, 5);
16487 {
16488 setState(2567);
16489 _errHandler.sync(this);
16490 _la = _input.LA(1);
16491 if (_la==CONSTRAINT) {
16492 {
16493 setState(2565);
16494 match(CONSTRAINT);
16495 setState(2566);
16496 ignoredIdentifier();
16497 }
16498 }
16499
16500 setState(2569);
16501 match(DEFAULT);
16502 setState(2570);
16503 expr(0);
16504 }
16505 break;
16506 case 6:
16507 enterOuterAlt(_localctx, 6);
16508 {
16509 setState(2571);
16510 match(IDENTITY);
16511 setState(2577);
16512 _errHandler.sync(this);
16513 _la = _input.LA(1);
16514 if (_la==LP_) {
16515 {
16516 setState(2572);
16517 match(LP_);
16518 setState(2573);
16519 match(NUMBER_);
16520 setState(2574);
16521 match(COMMA_);
16522 setState(2575);
16523 match(NUMBER_);
16524 setState(2576);
16525 match(RP_);
16526 }
16527 }
16528
16529 }
16530 break;
16531 case 7:
16532 enterOuterAlt(_localctx, 7);
16533 {
16534 setState(2579);
16535 match(NOT);
16536 setState(2580);
16537 match(FOR);
16538 setState(2581);
16539 match(REPLICATION);
16540 }
16541 break;
16542 case 8:
16543 enterOuterAlt(_localctx, 8);
16544 {
16545 setState(2582);
16546 match(GENERATED);
16547 setState(2583);
16548 match(ALWAYS);
16549 setState(2584);
16550 match(AS);
16551 setState(2585);
16552 match(ROW);
16553 setState(2586);
16554 _la = _input.LA(1);
16555 if ( !(_la==START || _la==END) ) {
16556 _errHandler.recoverInline(this);
16557 }
16558 else {
16559 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16560 _errHandler.reportMatch(this);
16561 consume();
16562 }
16563 setState(2588);
16564 _errHandler.sync(this);
16565 _la = _input.LA(1);
16566 if (_la==HIDDEN_) {
16567 {
16568 setState(2587);
16569 match(HIDDEN_);
16570 }
16571 }
16572
16573 }
16574 break;
16575 case 9:
16576 enterOuterAlt(_localctx, 9);
16577 {
16578 setState(2591);
16579 _errHandler.sync(this);
16580 _la = _input.LA(1);
16581 if (_la==NOT) {
16582 {
16583 setState(2590);
16584 match(NOT);
16585 }
16586 }
16587
16588 setState(2593);
16589 match(NULL);
16590 }
16591 break;
16592 case 10:
16593 enterOuterAlt(_localctx, 10);
16594 {
16595 setState(2594);
16596 match(ROWGUIDCOL);
16597 }
16598 break;
16599 case 11:
16600 enterOuterAlt(_localctx, 11);
16601 {
16602 setState(2595);
16603 match(ENCRYPTED);
16604 setState(2596);
16605 match(WITH);
16606 setState(2597);
16607 encryptedOptions();
16608 }
16609 break;
16610 case 12:
16611 enterOuterAlt(_localctx, 12);
16612 {
16613 setState(2598);
16614 columnConstraint();
16615 setState(2603);
16616 _errHandler.sync(this);
16617 _alt = getInterpreter().adaptivePredict(_input,195,_ctx);
16618 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16619 if ( _alt==1 ) {
16620 {
16621 {
16622 setState(2599);
16623 match(COMMA_);
16624 setState(2600);
16625 columnConstraint();
16626 }
16627 }
16628 }
16629 setState(2605);
16630 _errHandler.sync(this);
16631 _alt = getInterpreter().adaptivePredict(_input,195,_ctx);
16632 }
16633 }
16634 break;
16635 case 13:
16636 enterOuterAlt(_localctx, 13);
16637 {
16638 setState(2606);
16639 columnIndex();
16640 }
16641 break;
16642 }
16643 }
16644 catch (RecognitionException re) {
16645 _localctx.exception = re;
16646 _errHandler.reportError(this, re);
16647 _errHandler.recover(this, re);
16648 }
16649 finally {
16650 exitRule();
16651 }
16652 return _localctx;
16653 }
16654
16655 public static class EncryptedOptionsContext extends ParserRuleContext {
16656 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16657 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
16658 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
16659 public TerminalNode EQ_(int i) {
16660 return getToken(SQLServerStatementParser.EQ_, i);
16661 }
16662 public IgnoredIdentifierContext ignoredIdentifier() {
16663 return getRuleContext(IgnoredIdentifierContext.class,0);
16664 }
16665 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16666 public TerminalNode COMMA_(int i) {
16667 return getToken(SQLServerStatementParser.COMMA_, i);
16668 }
16669 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
16670 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
16671 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16672 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16673 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
16674 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
16675 public EncryptedOptionsContext(ParserRuleContext parent, int invokingState) {
16676 super(parent, invokingState);
16677 }
16678 @Override public int getRuleIndex() { return RULE_encryptedOptions; }
16679 @Override
16680 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16681 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEncryptedOptions(this);
16682 else return visitor.visitChildren(this);
16683 }
16684 }
16685
16686 public final EncryptedOptionsContext encryptedOptions() throws RecognitionException {
16687 EncryptedOptionsContext _localctx = new EncryptedOptionsContext(_ctx, getState());
16688 enterRule(_localctx, 346, RULE_encryptedOptions);
16689 int _la;
16690 try {
16691 enterOuterAlt(_localctx, 1);
16692 {
16693 setState(2609);
16694 match(LP_);
16695 setState(2610);
16696 match(COLUMN_ENCRYPTION_KEY);
16697 setState(2611);
16698 match(EQ_);
16699 setState(2612);
16700 ignoredIdentifier();
16701 setState(2613);
16702 match(COMMA_);
16703 setState(2614);
16704 match(ENCRYPTION_TYPE);
16705 setState(2615);
16706 match(EQ_);
16707 setState(2616);
16708 _la = _input.LA(1);
16709 if ( !(_la==DETERMINISTIC || _la==RANDOMIZED) ) {
16710 _errHandler.recoverInline(this);
16711 }
16712 else {
16713 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16714 _errHandler.reportMatch(this);
16715 consume();
16716 }
16717 setState(2617);
16718 match(COMMA_);
16719 setState(2618);
16720 match(ALGORITHM);
16721 setState(2619);
16722 match(EQ_);
16723 setState(2620);
16724 match(STRING_);
16725 setState(2621);
16726 match(RP_);
16727 }
16728 }
16729 catch (RecognitionException re) {
16730 _localctx.exception = re;
16731 _errHandler.reportError(this, re);
16732 _errHandler.recover(this, re);
16733 }
16734 finally {
16735 exitRule();
16736 }
16737 return _localctx;
16738 }
16739
16740 public static class ColumnConstraintContext extends ParserRuleContext {
16741 public PrimaryKeyConstraintContext primaryKeyConstraint() {
16742 return getRuleContext(PrimaryKeyConstraintContext.class,0);
16743 }
16744 public ColumnForeignKeyConstraintContext columnForeignKeyConstraint() {
16745 return getRuleContext(ColumnForeignKeyConstraintContext.class,0);
16746 }
16747 public CheckConstraintContext checkConstraint() {
16748 return getRuleContext(CheckConstraintContext.class,0);
16749 }
16750 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16751 public ConstraintNameContext constraintName() {
16752 return getRuleContext(ConstraintNameContext.class,0);
16753 }
16754 public ColumnConstraintContext(ParserRuleContext parent, int invokingState) {
16755 super(parent, invokingState);
16756 }
16757 @Override public int getRuleIndex() { return RULE_columnConstraint; }
16758 @Override
16759 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16760 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraint(this);
16761 else return visitor.visitChildren(this);
16762 }
16763 }
16764
16765 public final ColumnConstraintContext columnConstraint() throws RecognitionException {
16766 ColumnConstraintContext _localctx = new ColumnConstraintContext(_ctx, getState());
16767 enterRule(_localctx, 348, RULE_columnConstraint);
16768 int _la;
16769 try {
16770 enterOuterAlt(_localctx, 1);
16771 {
16772 setState(2625);
16773 _errHandler.sync(this);
16774 _la = _input.LA(1);
16775 if (_la==CONSTRAINT) {
16776 {
16777 setState(2623);
16778 match(CONSTRAINT);
16779 setState(2624);
16780 constraintName();
16781 }
16782 }
16783
16784 setState(2630);
16785 _errHandler.sync(this);
16786 switch (_input.LA(1)) {
16787 case PRIMARY:
16788 case UNIQUE:
16789 case KEY:
16790 {
16791 setState(2627);
16792 primaryKeyConstraint();
16793 }
16794 break;
16795 case FOREIGN:
16796 case REFERENCES:
16797 {
16798 setState(2628);
16799 columnForeignKeyConstraint();
16800 }
16801 break;
16802 case CHECK:
16803 {
16804 setState(2629);
16805 checkConstraint();
16806 }
16807 break;
16808 default:
16809 throw new NoViableAltException(this);
16810 }
16811 }
16812 }
16813 catch (RecognitionException re) {
16814 _localctx.exception = re;
16815 _errHandler.reportError(this, re);
16816 _errHandler.recover(this, re);
16817 }
16818 finally {
16819 exitRule();
16820 }
16821 return _localctx;
16822 }
16823
16824 public static class ComputedColumnConstraintContext extends ParserRuleContext {
16825 public PrimaryKeyConstraintContext primaryKeyConstraint() {
16826 return getRuleContext(PrimaryKeyConstraintContext.class,0);
16827 }
16828 public ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() {
16829 return getRuleContext(ComputedColumnForeignKeyConstraintContext.class,0);
16830 }
16831 public CheckConstraintContext checkConstraint() {
16832 return getRuleContext(CheckConstraintContext.class,0);
16833 }
16834 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16835 public ConstraintNameContext constraintName() {
16836 return getRuleContext(ConstraintNameContext.class,0);
16837 }
16838 public ComputedColumnConstraintContext(ParserRuleContext parent, int invokingState) {
16839 super(parent, invokingState);
16840 }
16841 @Override public int getRuleIndex() { return RULE_computedColumnConstraint; }
16842 @Override
16843 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16844 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnConstraint(this);
16845 else return visitor.visitChildren(this);
16846 }
16847 }
16848
16849 public final ComputedColumnConstraintContext computedColumnConstraint() throws RecognitionException {
16850 ComputedColumnConstraintContext _localctx = new ComputedColumnConstraintContext(_ctx, getState());
16851 enterRule(_localctx, 350, RULE_computedColumnConstraint);
16852 int _la;
16853 try {
16854 enterOuterAlt(_localctx, 1);
16855 {
16856 setState(2634);
16857 _errHandler.sync(this);
16858 _la = _input.LA(1);
16859 if (_la==CONSTRAINT) {
16860 {
16861 setState(2632);
16862 match(CONSTRAINT);
16863 setState(2633);
16864 constraintName();
16865 }
16866 }
16867
16868 setState(2639);
16869 _errHandler.sync(this);
16870 switch (_input.LA(1)) {
16871 case PRIMARY:
16872 case UNIQUE:
16873 case KEY:
16874 {
16875 setState(2636);
16876 primaryKeyConstraint();
16877 }
16878 break;
16879 case DOT_:
16880 case TRUNCATE:
16881 case SCHEMA:
16882 case COLUMNS:
16883 case FOREIGN:
16884 case PRECISION:
16885 case FUNCTION:
16886 case TRIGGER:
16887 case CAST:
16888 case TRIM:
16889 case SUBSTRING:
16890 case RIGHT:
16891 case OFF:
16892 case GROUP:
16893 case LIMIT:
16894 case OFFSET:
16895 case SAVEPOINT:
16896 case BOOLEAN:
16897 case ARRAY:
16898 case DATE:
16899 case TIMESTAMP:
16900 case LOCALTIME:
16901 case LOCALTIMESTAMP:
16902 case YEAR:
16903 case QUARTER:
16904 case MONTH:
16905 case WEEK:
16906 case DAY:
16907 case SECOND:
16908 case MICROSECOND:
16909 case MAX:
16910 case MIN:
16911 case SUM:
16912 case COUNT:
16913 case AVG:
16914 case ENABLE:
16915 case DISABLE:
16916 case INSTANCE:
16917 case DO:
16918 case DEFINER:
16919 case SQL:
16920 case CASCADED:
16921 case LOCAL:
16922 case NEXT:
16923 case NAME:
16924 case INTEGER:
16925 case TYPE:
16926 case TEXT:
16927 case VIEWS:
16928 case READ_ONLY:
16929 case DATABASE:
16930 case RETURNS:
16931 case DATEPART:
16932 case PASSWORD:
16933 case BINARY:
16934 case HIDDEN_:
16935 case MOD:
16936 case PARTITION:
16937 case PARTITIONS:
16938 case TOP:
16939 case ROW:
16940 case ROWS:
16941 case XOR:
16942 case ALWAYS:
16943 case USER:
16944 case ROLE:
16945 case START:
16946 case ALGORITHM:
16947 case AUTO:
16948 case BLOCKERS:
16949 case CLUSTERED:
16950 case NONCLUSTERED:
16951 case COLUMNSTORE:
16952 case CONTENT:
16953 case YEARS:
16954 case MONTHS:
16955 case WEEKS:
16956 case DAYS:
16957 case MINUTES:
16958 case DENY:
16959 case DETERMINISTIC:
16960 case DISTRIBUTION:
16961 case DOCUMENT:
16962 case DURABILITY:
16963 case ENCRYPTED:
16964 case FILESTREAM:
16965 case FILETABLE:
16966 case FILLFACTOR:
16967 case FOLLOWING:
16968 case HASH:
16969 case HEAP:
16970 case INBOUND:
16971 case OUTBOUND:
16972 case UNBOUNDED:
16973 case INFINITE:
16974 case LOGIN:
16975 case MASKED:
16976 case MAXDOP:
16977 case MOVE:
16978 case NOCHECK:
16979 case OBJECT:
16980 case ONLINE:
16981 case OVER:
16982 case PAGE:
16983 case PAUSED:
16984 case PERIOD:
16985 case PERSISTED:
16986 case PRECEDING:
16987 case RANDOMIZED:
16988 case RANGE:
16989 case REBUILD:
16990 case REPLICATE:
16991 case REPLICATION:
16992 case RESUMABLE:
16993 case ROWGUIDCOL:
16994 case SAVE:
16995 case SELF:
16996 case SPARSE:
16997 case SWITCH:
16998 case TRAN:
16999 case TRANCOUNT:
17000 case CONTROL:
17001 case CONCAT:
17002 case TAKE:
17003 case OWNERSHIP:
17004 case DEFINITION:
17005 case APPLICATION:
17006 case ASSEMBLY:
17007 case SYMMETRIC:
17008 case ASYMMETRIC:
17009 case SERVER:
17010 case RECEIVE:
17011 case CHANGE:
17012 case TRACE:
17013 case TRACKING:
17014 case RESOURCES:
17015 case SETTINGS:
17016 case STATE:
17017 case AVAILABILITY:
17018 case CREDENTIAL:
17019 case ENDPOINT:
17020 case EVENT:
17021 case NOTIFICATION:
17022 case LINKED:
17023 case AUDIT:
17024 case DDL:
17025 case XML:
17026 case IMPERSONATE:
17027 case SECURABLES:
17028 case AUTHENTICATE:
17029 case EXTERNAL:
17030 case ACCESS:
17031 case ADMINISTER:
17032 case BULK:
17033 case OPERATIONS:
17034 case UNSAFE:
17035 case SHUTDOWN:
17036 case SCOPED:
17037 case CONFIGURATION:
17038 case DATASPACE:
17039 case SERVICE:
17040 case CERTIFICATE:
17041 case CONTRACT:
17042 case ENCRYPTION:
17043 case MASTER:
17044 case DATA:
17045 case SOURCE:
17046 case FILE:
17047 case FORMAT:
17048 case LIBRARY:
17049 case FULLTEXT:
17050 case MASK:
17051 case UNMASK:
17052 case MESSAGE:
17053 case REMOTE:
17054 case BINDING:
17055 case ROUTE:
17056 case SECURITY:
17057 case POLICY:
17058 case AGGREGATE:
17059 case QUEUE:
17060 case RULE:
17061 case SYNONYM:
17062 case COLLECTION:
17063 case SCRIPT:
17064 case KILL:
17065 case BACKUP:
17066 case LOG:
17067 case SHOWPLAN:
17068 case SUBSCRIBE:
17069 case QUERY:
17070 case NOTIFICATIONS:
17071 case CHECKPOINT:
17072 case SEQUENCE:
17073 case ABORT_AFTER_WAIT:
17074 case ALLOW_PAGE_LOCKS:
17075 case ALLOW_ROW_LOCKS:
17076 case ALL_SPARSE_COLUMNS:
17077 case BUCKET_COUNT:
17078 case COLUMNSTORE_ARCHIVE:
17079 case COLUMN_ENCRYPTION_KEY:
17080 case COLUMN_SET:
17081 case COMPRESSION_DELAY:
17082 case DATABASE_DEAULT:
17083 case DATA_COMPRESSION:
17084 case DATA_CONSISTENCY_CHECK:
17085 case ENCRYPTION_TYPE:
17086 case SYSTEM_TIME:
17087 case SYSTEM_VERSIONING:
17088 case TEXTIMAGE_ON:
17089 case WAIT_AT_LOW_PRIORITY:
17090 case STATISTICS_INCREMENTAL:
17091 case STATISTICS_NORECOMPUTE:
17092 case ROUND_ROBIN:
17093 case SCHEMA_AND_DATA:
17094 case SCHEMA_ONLY:
17095 case SORT_IN_TEMPDB:
17096 case IGNORE_DUP_KEY:
17097 case IMPLICIT_TRANSACTIONS:
17098 case MAX_DURATION:
17099 case MEMORY_OPTIMIZED:
17100 case MIGRATION_STATE:
17101 case PAD_INDEX:
17102 case REMOTE_DATA_ARCHIVE:
17103 case FILESTREAM_ON:
17104 case FILETABLE_COLLATE_FILENAME:
17105 case FILETABLE_DIRECTORY:
17106 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
17107 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
17108 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
17109 case FILTER_PREDICATE:
17110 case HISTORY_RETENTION_PERIOD:
17111 case HISTORY_TABLE:
17112 case LOCK_ESCALATION:
17113 case DROP_EXISTING:
17114 case ROW_NUMBER:
17115 case FIRST:
17116 case DATETIME2:
17117 case OUTPUT:
17118 case INSERTED:
17119 case DELETED:
17120 case FILENAME:
17121 case SIZE:
17122 case MAXSIZE:
17123 case FILEGROWTH:
17124 case UNLIMITED:
17125 case KB:
17126 case MB:
17127 case GB:
17128 case TB:
17129 case CONTAINS:
17130 case MEMORY_OPTIMIZED_DATA:
17131 case FILEGROUP:
17132 case NON_TRANSACTED_ACCESS:
17133 case DB_CHAINING:
17134 case TRUSTWORTHY:
17135 case FORWARD_ONLY:
17136 case KEYSET:
17137 case FAST_FORWARD:
17138 case SCROLL_LOCKS:
17139 case OPTIMISTIC:
17140 case TYPE_WARNING:
17141 case SCHEMABINDING:
17142 case CALLER:
17143 case INPUT:
17144 case OWNER:
17145 case SNAPSHOT:
17146 case REPEATABLE:
17147 case SERIALIZABLE:
17148 case NATIVE_COMPILATION:
17149 case VIEW_METADATA:
17150 case INSTEAD:
17151 case APPEND:
17152 case INCREMENT:
17153 case CACHE:
17154 case MINVALUE:
17155 case MAXVALUE:
17156 case RESTART:
17157 case LOB_COMPACTION:
17158 case COMPRESS_ALL_ROW_GROUPS:
17159 case REORGANIZE:
17160 case RESUME:
17161 case PAUSE:
17162 case ABORT:
17163 case ACCELERATED_DATABASE_RECOVERY:
17164 case PERSISTENT_VERSION_STORE_FILEGROUP:
17165 case IMMEDIATE:
17166 case NO_WAIT:
17167 case TARGET_RECOVERY_TIME:
17168 case SECONDS:
17169 case HONOR_BROKER_PRIORITY:
17170 case ERROR_BROKER_CONVERSATIONS:
17171 case NEW_BROKER:
17172 case DISABLE_BROKER:
17173 case ENABLE_BROKER:
17174 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
17175 case READ_COMMITTED_SNAPSHOT:
17176 case ALLOW_SNAPSHOT_ISOLATION:
17177 case RECURSIVE_TRIGGERS:
17178 case QUOTED_IDENTIFIER:
17179 case NUMERIC_ROUNDABORT:
17180 case CONCAT_NULL_YIELDS_NULL:
17181 case COMPATIBILITY_LEVEL:
17182 case ARITHABORT:
17183 case ANSI_WARNINGS:
17184 case ANSI_PADDING:
17185 case ANSI_NULLS:
17186 case ANSI_NULL_DEFAULT:
17187 case PAGE_VERIFY:
17188 case CHECKSUM:
17189 case TORN_PAGE_DETECTION:
17190 case BULK_LOGGED:
17191 case RECOVERY:
17192 case TOTAL_EXECUTION_CPU_TIME_MS:
17193 case TOTAL_COMPILE_CPU_TIME_MS:
17194 case STALE_CAPTURE_POLICY_THRESHOLD:
17195 case EXECUTION_COUNT:
17196 case QUERY_CAPTURE_POLICY:
17197 case WAIT_STATS_CAPTURE_MODE:
17198 case MAX_PLANS_PER_QUERY:
17199 case QUERY_CAPTURE_MODE:
17200 case SIZE_BASED_CLEANUP_MODE:
17201 case INTERVAL_LENGTH_MINUTES:
17202 case MAX_STORAGE_SIZE_MB:
17203 case DATA_FLUSH_INTERVAL_SECONDS:
17204 case CLEANUP_POLICY:
17205 case CUSTOM:
17206 case STALE_QUERY_THRESHOLD_DAYS:
17207 case OPERATION_MODE:
17208 case QUERY_STORE:
17209 case CURSOR_DEFAULT:
17210 case GLOBAL:
17211 case CURSOR_CLOSE_ON_COMMIT:
17212 case HOURS:
17213 case CHANGE_RETENTION:
17214 case AUTO_CLEANUP:
17215 case CHANGE_TRACKING:
17216 case AUTOMATIC_TUNING:
17217 case FORCE_LAST_GOOD_PLAN:
17218 case AUTO_UPDATE_STATISTICS_ASYNC:
17219 case AUTO_UPDATE_STATISTICS:
17220 case AUTO_SHRINK:
17221 case AUTO_CREATE_STATISTICS:
17222 case INCREMENTAL:
17223 case AUTO_CLOSE:
17224 case DATA_RETENTION:
17225 case TEMPORAL_HISTORY_RETENTION:
17226 case EDITION:
17227 case MIXED_PAGE_ALLOCATION:
17228 case DISABLED:
17229 case ALLOWED:
17230 case HADR:
17231 case MULTI_USER:
17232 case RESTRICTED_USER:
17233 case SINGLE_USER:
17234 case OFFLINE:
17235 case EMERGENCY:
17236 case SUSPEND:
17237 case DATE_CORRELATION_OPTIMIZATION:
17238 case ELASTIC_POOL:
17239 case SERVICE_OBJECTIVE:
17240 case DATABASE_NAME:
17241 case ALLOW_CONNECTIONS:
17242 case GEO:
17243 case NAMED:
17244 case DATEFIRST:
17245 case BACKUP_STORAGE_REDUNDANCY:
17246 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
17247 case SECONDARY:
17248 case FAILOVER:
17249 case DEFAULT_FULLTEXT_LANGUAGE:
17250 case DEFAULT_LANGUAGE:
17251 case INLINE:
17252 case NESTED_TRIGGERS:
17253 case TRANSFORM_NOISE_WORDS:
17254 case TWO_DIGIT_YEAR_CUTOFF:
17255 case PERSISTENT_LOG_BUFFER:
17256 case DIRECTORY_NAME:
17257 case DATEFORMAT:
17258 case DELAYED_DURABILITY:
17259 case AUTHORIZATION:
17260 case TRANSFER:
17261 case PROVIDER:
17262 case SID:
17263 case SEARCH:
17264 case MEMBER:
17265 case JSON:
17266 case IDENTIFIER_:
17267 case DELIMITED_IDENTIFIER_:
17268 {
17269 setState(2637);
17270 computedColumnForeignKeyConstraint();
17271 }
17272 break;
17273 case CHECK:
17274 {
17275 setState(2638);
17276 checkConstraint();
17277 }
17278 break;
17279 default:
17280 throw new NoViableAltException(this);
17281 }
17282 }
17283 }
17284 catch (RecognitionException re) {
17285 _localctx.exception = re;
17286 _errHandler.reportError(this, re);
17287 _errHandler.recover(this, re);
17288 }
17289 finally {
17290 exitRule();
17291 }
17292 return _localctx;
17293 }
17294
17295 public static class ComputedColumnForeignKeyConstraintContext extends ParserRuleContext {
17296 public TableNameContext tableName() {
17297 return getRuleContext(TableNameContext.class,0);
17298 }
17299 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17300 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17301 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17302 public ColumnNameContext columnName() {
17303 return getRuleContext(ColumnNameContext.class,0);
17304 }
17305 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17306 public List<ComputedColumnForeignKeyOnActionContext> computedColumnForeignKeyOnAction() {
17307 return getRuleContexts(ComputedColumnForeignKeyOnActionContext.class);
17308 }
17309 public ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction(int i) {
17310 return getRuleContext(ComputedColumnForeignKeyOnActionContext.class,i);
17311 }
17312 public ComputedColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17313 super(parent, invokingState);
17314 }
17315 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyConstraint; }
17316 @Override
17317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyConstraint(this);
17319 else return visitor.visitChildren(this);
17320 }
17321 }
17322
17323 public final ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() throws RecognitionException {
17324 ComputedColumnForeignKeyConstraintContext _localctx = new ComputedColumnForeignKeyConstraintContext(_ctx, getState());
17325 enterRule(_localctx, 352, RULE_computedColumnForeignKeyConstraint);
17326 int _la;
17327 try {
17328 enterOuterAlt(_localctx, 1);
17329 {
17330 setState(2643);
17331 _errHandler.sync(this);
17332 _la = _input.LA(1);
17333 if (_la==FOREIGN) {
17334 {
17335 setState(2641);
17336 match(FOREIGN);
17337 setState(2642);
17338 match(KEY);
17339 }
17340 }
17341
17342 setState(2645);
17343 tableName();
17344 setState(2650);
17345 _errHandler.sync(this);
17346 switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) {
17347 case 1:
17348 {
17349 setState(2646);
17350 match(LP_);
17351 setState(2647);
17352 columnName();
17353 setState(2648);
17354 match(RP_);
17355 }
17356 break;
17357 }
17358 setState(2655);
17359 _errHandler.sync(this);
17360 _la = _input.LA(1);
17361 while (_la==ON || _la==NOT) {
17362 {
17363 {
17364 setState(2652);
17365 computedColumnForeignKeyOnAction();
17366 }
17367 }
17368 setState(2657);
17369 _errHandler.sync(this);
17370 _la = _input.LA(1);
17371 }
17372 }
17373 }
17374 catch (RecognitionException re) {
17375 _localctx.exception = re;
17376 _errHandler.reportError(this, re);
17377 _errHandler.recover(this, re);
17378 }
17379 finally {
17380 exitRule();
17381 }
17382 return _localctx;
17383 }
17384
17385 public static class ComputedColumnForeignKeyOnActionContext extends ParserRuleContext {
17386 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17387 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
17388 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
17389 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
17390 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
17391 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
17392 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17393 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17394 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
17395 public ComputedColumnForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
17396 super(parent, invokingState);
17397 }
17398 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyOnAction; }
17399 @Override
17400 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17401 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyOnAction(this);
17402 else return visitor.visitChildren(this);
17403 }
17404 }
17405
17406 public final ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction() throws RecognitionException {
17407 ComputedColumnForeignKeyOnActionContext _localctx = new ComputedColumnForeignKeyOnActionContext(_ctx, getState());
17408 enterRule(_localctx, 354, RULE_computedColumnForeignKeyOnAction);
17409 try {
17410 setState(2672);
17411 _errHandler.sync(this);
17412 switch ( getInterpreter().adaptivePredict(_input,205,_ctx) ) {
17413 case 1:
17414 enterOuterAlt(_localctx, 1);
17415 {
17416 setState(2658);
17417 match(ON);
17418 setState(2659);
17419 match(DELETE);
17420 setState(2663);
17421 _errHandler.sync(this);
17422 switch (_input.LA(1)) {
17423 case NO:
17424 {
17425 setState(2660);
17426 match(NO);
17427 setState(2661);
17428 match(ACTION);
17429 }
17430 break;
17431 case CASCADE:
17432 {
17433 setState(2662);
17434 match(CASCADE);
17435 }
17436 break;
17437 default:
17438 throw new NoViableAltException(this);
17439 }
17440 }
17441 break;
17442 case 2:
17443 enterOuterAlt(_localctx, 2);
17444 {
17445 setState(2665);
17446 match(ON);
17447 setState(2666);
17448 match(UPDATE);
17449 setState(2667);
17450 match(NO);
17451 setState(2668);
17452 match(ACTION);
17453 }
17454 break;
17455 case 3:
17456 enterOuterAlt(_localctx, 3);
17457 {
17458 setState(2669);
17459 match(NOT);
17460 setState(2670);
17461 match(FOR);
17462 setState(2671);
17463 match(REPLICATION);
17464 }
17465 break;
17466 }
17467 }
17468 catch (RecognitionException re) {
17469 _localctx.exception = re;
17470 _errHandler.reportError(this, re);
17471 _errHandler.recover(this, re);
17472 }
17473 finally {
17474 exitRule();
17475 }
17476 return _localctx;
17477 }
17478
17479 public static class PrimaryKeyConstraintContext extends ParserRuleContext {
17480 public PrimaryKeyContext primaryKey() {
17481 return getRuleContext(PrimaryKeyContext.class,0);
17482 }
17483 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
17484 public DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() {
17485 return getRuleContext(DiskTablePrimaryKeyConstraintOptionContext.class,0);
17486 }
17487 public MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() {
17488 return getRuleContext(MemoryTablePrimaryKeyConstraintOptionContext.class,0);
17489 }
17490 public PrimaryKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17491 super(parent, invokingState);
17492 }
17493 @Override public int getRuleIndex() { return RULE_primaryKeyConstraint; }
17494 @Override
17495 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17496 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyConstraint(this);
17497 else return visitor.visitChildren(this);
17498 }
17499 }
17500
17501 public final PrimaryKeyConstraintContext primaryKeyConstraint() throws RecognitionException {
17502 PrimaryKeyConstraintContext _localctx = new PrimaryKeyConstraintContext(_ctx, getState());
17503 enterRule(_localctx, 356, RULE_primaryKeyConstraint);
17504 try {
17505 enterOuterAlt(_localctx, 1);
17506 {
17507 setState(2676);
17508 _errHandler.sync(this);
17509 switch (_input.LA(1)) {
17510 case PRIMARY:
17511 case KEY:
17512 {
17513 setState(2674);
17514 primaryKey();
17515 }
17516 break;
17517 case UNIQUE:
17518 {
17519 setState(2675);
17520 match(UNIQUE);
17521 }
17522 break;
17523 default:
17524 throw new NoViableAltException(this);
17525 }
17526 setState(2680);
17527 _errHandler.sync(this);
17528 switch ( getInterpreter().adaptivePredict(_input,207,_ctx) ) {
17529 case 1:
17530 {
17531 setState(2678);
17532 diskTablePrimaryKeyConstraintOption();
17533 }
17534 break;
17535 case 2:
17536 {
17537 setState(2679);
17538 memoryTablePrimaryKeyConstraintOption();
17539 }
17540 break;
17541 }
17542 }
17543 }
17544 catch (RecognitionException re) {
17545 _localctx.exception = re;
17546 _errHandler.reportError(this, re);
17547 _errHandler.recover(this, re);
17548 }
17549 finally {
17550 exitRule();
17551 }
17552 return _localctx;
17553 }
17554
17555 public static class DiskTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
17556 public ClusterOptionContext clusterOption() {
17557 return getRuleContext(ClusterOptionContext.class,0);
17558 }
17559 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
17560 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
17561 }
17562 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
17563 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
17564 }
17565 public DiskTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17566 super(parent, invokingState);
17567 }
17568 @Override public int getRuleIndex() { return RULE_diskTablePrimaryKeyConstraintOption; }
17569 @Override
17570 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17571 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryKeyConstraintOption(this);
17572 else return visitor.visitChildren(this);
17573 }
17574 }
17575
17576 public final DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() throws RecognitionException {
17577 DiskTablePrimaryKeyConstraintOptionContext _localctx = new DiskTablePrimaryKeyConstraintOptionContext(_ctx, getState());
17578 enterRule(_localctx, 358, RULE_diskTablePrimaryKeyConstraintOption);
17579 int _la;
17580 try {
17581 enterOuterAlt(_localctx, 1);
17582 {
17583 setState(2683);
17584 _errHandler.sync(this);
17585 _la = _input.LA(1);
17586 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17587 {
17588 setState(2682);
17589 clusterOption();
17590 }
17591 }
17592
17593 setState(2686);
17594 _errHandler.sync(this);
17595 switch ( getInterpreter().adaptivePredict(_input,209,_ctx) ) {
17596 case 1:
17597 {
17598 setState(2685);
17599 primaryKeyWithClause();
17600 }
17601 break;
17602 }
17603 setState(2689);
17604 _errHandler.sync(this);
17605 _la = _input.LA(1);
17606 if (_la==ON) {
17607 {
17608 setState(2688);
17609 primaryKeyOnClause();
17610 }
17611 }
17612
17613 }
17614 }
17615 catch (RecognitionException re) {
17616 _localctx.exception = re;
17617 _errHandler.reportError(this, re);
17618 _errHandler.recover(this, re);
17619 }
17620 finally {
17621 exitRule();
17622 }
17623 return _localctx;
17624 }
17625
17626 public static class ClusterOptionContext extends ParserRuleContext {
17627 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
17628 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17629 public ClusterOptionContext(ParserRuleContext parent, int invokingState) {
17630 super(parent, invokingState);
17631 }
17632 @Override public int getRuleIndex() { return RULE_clusterOption; }
17633 @Override
17634 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17635 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClusterOption(this);
17636 else return visitor.visitChildren(this);
17637 }
17638 }
17639
17640 public final ClusterOptionContext clusterOption() throws RecognitionException {
17641 ClusterOptionContext _localctx = new ClusterOptionContext(_ctx, getState());
17642 enterRule(_localctx, 360, RULE_clusterOption);
17643 int _la;
17644 try {
17645 enterOuterAlt(_localctx, 1);
17646 {
17647 setState(2691);
17648 _la = _input.LA(1);
17649 if ( !(_la==CLUSTERED || _la==NONCLUSTERED) ) {
17650 _errHandler.recoverInline(this);
17651 }
17652 else {
17653 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17654 _errHandler.reportMatch(this);
17655 consume();
17656 }
17657 }
17658 }
17659 catch (RecognitionException re) {
17660 _localctx.exception = re;
17661 _errHandler.reportError(this, re);
17662 _errHandler.recover(this, re);
17663 }
17664 finally {
17665 exitRule();
17666 }
17667 return _localctx;
17668 }
17669
17670 public static class PrimaryKeyWithClauseContext extends ParserRuleContext {
17671 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17672 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
17673 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
17674 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
17675 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17676 public List<IndexOptionContext> indexOption() {
17677 return getRuleContexts(IndexOptionContext.class);
17678 }
17679 public IndexOptionContext indexOption(int i) {
17680 return getRuleContext(IndexOptionContext.class,i);
17681 }
17682 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17683 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17684 public TerminalNode COMMA_(int i) {
17685 return getToken(SQLServerStatementParser.COMMA_, i);
17686 }
17687 public PrimaryKeyWithClauseContext(ParserRuleContext parent, int invokingState) {
17688 super(parent, invokingState);
17689 }
17690 @Override public int getRuleIndex() { return RULE_primaryKeyWithClause; }
17691 @Override
17692 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17693 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyWithClause(this);
17694 else return visitor.visitChildren(this);
17695 }
17696 }
17697
17698 public final PrimaryKeyWithClauseContext primaryKeyWithClause() throws RecognitionException {
17699 PrimaryKeyWithClauseContext _localctx = new PrimaryKeyWithClauseContext(_ctx, getState());
17700 enterRule(_localctx, 362, RULE_primaryKeyWithClause);
17701 int _la;
17702 try {
17703 enterOuterAlt(_localctx, 1);
17704 {
17705 setState(2693);
17706 match(WITH);
17707 setState(2708);
17708 _errHandler.sync(this);
17709 switch (_input.LA(1)) {
17710 case FILLFACTOR:
17711 {
17712 setState(2694);
17713 match(FILLFACTOR);
17714 setState(2695);
17715 match(EQ_);
17716 setState(2696);
17717 match(NUMBER_);
17718 }
17719 break;
17720 case LP_:
17721 {
17722 setState(2697);
17723 match(LP_);
17724 setState(2698);
17725 indexOption();
17726 setState(2703);
17727 _errHandler.sync(this);
17728 _la = _input.LA(1);
17729 while (_la==COMMA_) {
17730 {
17731 {
17732 setState(2699);
17733 match(COMMA_);
17734 setState(2700);
17735 indexOption();
17736 }
17737 }
17738 setState(2705);
17739 _errHandler.sync(this);
17740 _la = _input.LA(1);
17741 }
17742 setState(2706);
17743 match(RP_);
17744 }
17745 break;
17746 default:
17747 throw new NoViableAltException(this);
17748 }
17749 }
17750 }
17751 catch (RecognitionException re) {
17752 _localctx.exception = re;
17753 _errHandler.reportError(this, re);
17754 _errHandler.recover(this, re);
17755 }
17756 finally {
17757 exitRule();
17758 }
17759 return _localctx;
17760 }
17761
17762 public static class PrimaryKeyOnClauseContext extends ParserRuleContext {
17763 public OnSchemaColumnContext onSchemaColumn() {
17764 return getRuleContext(OnSchemaColumnContext.class,0);
17765 }
17766 public OnFileGroupContext onFileGroup() {
17767 return getRuleContext(OnFileGroupContext.class,0);
17768 }
17769 public OnStringContext onString() {
17770 return getRuleContext(OnStringContext.class,0);
17771 }
17772 public PrimaryKeyOnClauseContext(ParserRuleContext parent, int invokingState) {
17773 super(parent, invokingState);
17774 }
17775 @Override public int getRuleIndex() { return RULE_primaryKeyOnClause; }
17776 @Override
17777 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17778 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyOnClause(this);
17779 else return visitor.visitChildren(this);
17780 }
17781 }
17782
17783 public final PrimaryKeyOnClauseContext primaryKeyOnClause() throws RecognitionException {
17784 PrimaryKeyOnClauseContext _localctx = new PrimaryKeyOnClauseContext(_ctx, getState());
17785 enterRule(_localctx, 364, RULE_primaryKeyOnClause);
17786 try {
17787 setState(2713);
17788 _errHandler.sync(this);
17789 switch ( getInterpreter().adaptivePredict(_input,213,_ctx) ) {
17790 case 1:
17791 enterOuterAlt(_localctx, 1);
17792 {
17793 setState(2710);
17794 onSchemaColumn();
17795 }
17796 break;
17797 case 2:
17798 enterOuterAlt(_localctx, 2);
17799 {
17800 setState(2711);
17801 onFileGroup();
17802 }
17803 break;
17804 case 3:
17805 enterOuterAlt(_localctx, 3);
17806 {
17807 setState(2712);
17808 onString();
17809 }
17810 break;
17811 }
17812 }
17813 catch (RecognitionException re) {
17814 _localctx.exception = re;
17815 _errHandler.reportError(this, re);
17816 _errHandler.recover(this, re);
17817 }
17818 finally {
17819 exitRule();
17820 }
17821 return _localctx;
17822 }
17823
17824 public static class OnSchemaColumnContext extends ParserRuleContext {
17825 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17826 public SchemaNameContext schemaName() {
17827 return getRuleContext(SchemaNameContext.class,0);
17828 }
17829 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17830 public ColumnNameContext columnName() {
17831 return getRuleContext(ColumnNameContext.class,0);
17832 }
17833 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17834 public OnSchemaColumnContext(ParserRuleContext parent, int invokingState) {
17835 super(parent, invokingState);
17836 }
17837 @Override public int getRuleIndex() { return RULE_onSchemaColumn; }
17838 @Override
17839 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17840 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnSchemaColumn(this);
17841 else return visitor.visitChildren(this);
17842 }
17843 }
17844
17845 public final OnSchemaColumnContext onSchemaColumn() throws RecognitionException {
17846 OnSchemaColumnContext _localctx = new OnSchemaColumnContext(_ctx, getState());
17847 enterRule(_localctx, 366, RULE_onSchemaColumn);
17848 try {
17849 enterOuterAlt(_localctx, 1);
17850 {
17851 setState(2715);
17852 match(ON);
17853 setState(2716);
17854 schemaName();
17855 setState(2717);
17856 match(LP_);
17857 setState(2718);
17858 columnName();
17859 setState(2719);
17860 match(RP_);
17861 }
17862 }
17863 catch (RecognitionException re) {
17864 _localctx.exception = re;
17865 _errHandler.reportError(this, re);
17866 _errHandler.recover(this, re);
17867 }
17868 finally {
17869 exitRule();
17870 }
17871 return _localctx;
17872 }
17873
17874 public static class OnFileGroupContext extends ParserRuleContext {
17875 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17876 public IgnoredIdentifierContext ignoredIdentifier() {
17877 return getRuleContext(IgnoredIdentifierContext.class,0);
17878 }
17879 public OnFileGroupContext(ParserRuleContext parent, int invokingState) {
17880 super(parent, invokingState);
17881 }
17882 @Override public int getRuleIndex() { return RULE_onFileGroup; }
17883 @Override
17884 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17885 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnFileGroup(this);
17886 else return visitor.visitChildren(this);
17887 }
17888 }
17889
17890 public final OnFileGroupContext onFileGroup() throws RecognitionException {
17891 OnFileGroupContext _localctx = new OnFileGroupContext(_ctx, getState());
17892 enterRule(_localctx, 368, RULE_onFileGroup);
17893 try {
17894 enterOuterAlt(_localctx, 1);
17895 {
17896 setState(2721);
17897 match(ON);
17898 setState(2722);
17899 ignoredIdentifier();
17900 }
17901 }
17902 catch (RecognitionException re) {
17903 _localctx.exception = re;
17904 _errHandler.reportError(this, re);
17905 _errHandler.recover(this, re);
17906 }
17907 finally {
17908 exitRule();
17909 }
17910 return _localctx;
17911 }
17912
17913 public static class OnStringContext extends ParserRuleContext {
17914 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17915 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
17916 public OnStringContext(ParserRuleContext parent, int invokingState) {
17917 super(parent, invokingState);
17918 }
17919 @Override public int getRuleIndex() { return RULE_onString; }
17920 @Override
17921 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17922 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnString(this);
17923 else return visitor.visitChildren(this);
17924 }
17925 }
17926
17927 public final OnStringContext onString() throws RecognitionException {
17928 OnStringContext _localctx = new OnStringContext(_ctx, getState());
17929 enterRule(_localctx, 370, RULE_onString);
17930 try {
17931 enterOuterAlt(_localctx, 1);
17932 {
17933 setState(2724);
17934 match(ON);
17935 setState(2725);
17936 match(STRING_);
17937 }
17938 }
17939 catch (RecognitionException re) {
17940 _localctx.exception = re;
17941 _errHandler.reportError(this, re);
17942 _errHandler.recover(this, re);
17943 }
17944 finally {
17945 exitRule();
17946 }
17947 return _localctx;
17948 }
17949
17950 public static class MemoryTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
17951 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17952 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
17953 public WithBucketContext withBucket() {
17954 return getRuleContext(WithBucketContext.class,0);
17955 }
17956 public MemoryTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17957 super(parent, invokingState);
17958 }
17959 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryKeyConstraintOption; }
17960 @Override
17961 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17962 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryKeyConstraintOption(this);
17963 else return visitor.visitChildren(this);
17964 }
17965 }
17966
17967 public final MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() throws RecognitionException {
17968 MemoryTablePrimaryKeyConstraintOptionContext _localctx = new MemoryTablePrimaryKeyConstraintOptionContext(_ctx, getState());
17969 enterRule(_localctx, 372, RULE_memoryTablePrimaryKeyConstraintOption);
17970 try {
17971 setState(2733);
17972 _errHandler.sync(this);
17973 switch ( getInterpreter().adaptivePredict(_input,215,_ctx) ) {
17974 case 1:
17975 enterOuterAlt(_localctx, 1);
17976 {
17977 setState(2727);
17978 match(NONCLUSTERED);
17979 }
17980 break;
17981 case 2:
17982 enterOuterAlt(_localctx, 2);
17983 {
17984 setState(2728);
17985 match(NONCLUSTERED);
17986 setState(2729);
17987 match(HASH);
17988 setState(2731);
17989 _errHandler.sync(this);
17990 switch ( getInterpreter().adaptivePredict(_input,214,_ctx) ) {
17991 case 1:
17992 {
17993 setState(2730);
17994 withBucket();
17995 }
17996 break;
17997 }
17998 }
17999 break;
18000 }
18001 }
18002 catch (RecognitionException re) {
18003 _localctx.exception = re;
18004 _errHandler.reportError(this, re);
18005 _errHandler.recover(this, re);
18006 }
18007 finally {
18008 exitRule();
18009 }
18010 return _localctx;
18011 }
18012
18013 public static class WithBucketContext extends ParserRuleContext {
18014 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18015 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18016 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
18017 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18018 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
18019 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18020 public WithBucketContext(ParserRuleContext parent, int invokingState) {
18021 super(parent, invokingState);
18022 }
18023 @Override public int getRuleIndex() { return RULE_withBucket; }
18024 @Override
18025 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18026 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithBucket(this);
18027 else return visitor.visitChildren(this);
18028 }
18029 }
18030
18031 public final WithBucketContext withBucket() throws RecognitionException {
18032 WithBucketContext _localctx = new WithBucketContext(_ctx, getState());
18033 enterRule(_localctx, 374, RULE_withBucket);
18034 try {
18035 enterOuterAlt(_localctx, 1);
18036 {
18037 setState(2735);
18038 match(WITH);
18039 setState(2736);
18040 match(LP_);
18041 setState(2737);
18042 match(BUCKET_COUNT);
18043 setState(2738);
18044 match(EQ_);
18045 setState(2739);
18046 match(NUMBER_);
18047 setState(2740);
18048 match(RP_);
18049 }
18050 }
18051 catch (RecognitionException re) {
18052 _localctx.exception = re;
18053 _errHandler.reportError(this, re);
18054 _errHandler.recover(this, re);
18055 }
18056 finally {
18057 exitRule();
18058 }
18059 return _localctx;
18060 }
18061
18062 public static class ColumnForeignKeyConstraintContext extends ParserRuleContext {
18063 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
18064 public TableNameContext tableName() {
18065 return getRuleContext(TableNameContext.class,0);
18066 }
18067 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
18068 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
18069 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18070 public ColumnNameContext columnName() {
18071 return getRuleContext(ColumnNameContext.class,0);
18072 }
18073 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18074 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
18075 return getRuleContexts(ForeignKeyOnActionContext.class);
18076 }
18077 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
18078 return getRuleContext(ForeignKeyOnActionContext.class,i);
18079 }
18080 public ColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
18081 super(parent, invokingState);
18082 }
18083 @Override public int getRuleIndex() { return RULE_columnForeignKeyConstraint; }
18084 @Override
18085 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18086 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnForeignKeyConstraint(this);
18087 else return visitor.visitChildren(this);
18088 }
18089 }
18090
18091 public final ColumnForeignKeyConstraintContext columnForeignKeyConstraint() throws RecognitionException {
18092 ColumnForeignKeyConstraintContext _localctx = new ColumnForeignKeyConstraintContext(_ctx, getState());
18093 enterRule(_localctx, 376, RULE_columnForeignKeyConstraint);
18094 int _la;
18095 try {
18096 int _alt;
18097 enterOuterAlt(_localctx, 1);
18098 {
18099 setState(2744);
18100 _errHandler.sync(this);
18101 _la = _input.LA(1);
18102 if (_la==FOREIGN) {
18103 {
18104 setState(2742);
18105 match(FOREIGN);
18106 setState(2743);
18107 match(KEY);
18108 }
18109 }
18110
18111 setState(2746);
18112 match(REFERENCES);
18113 setState(2747);
18114 tableName();
18115 setState(2752);
18116 _errHandler.sync(this);
18117 switch ( getInterpreter().adaptivePredict(_input,217,_ctx) ) {
18118 case 1:
18119 {
18120 setState(2748);
18121 match(LP_);
18122 setState(2749);
18123 columnName();
18124 setState(2750);
18125 match(RP_);
18126 }
18127 break;
18128 }
18129 setState(2757);
18130 _errHandler.sync(this);
18131 _alt = getInterpreter().adaptivePredict(_input,218,_ctx);
18132 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
18133 if ( _alt==1 ) {
18134 {
18135 {
18136 setState(2754);
18137 foreignKeyOnAction();
18138 }
18139 }
18140 }
18141 setState(2759);
18142 _errHandler.sync(this);
18143 _alt = getInterpreter().adaptivePredict(_input,218,_ctx);
18144 }
18145 }
18146 }
18147 catch (RecognitionException re) {
18148 _localctx.exception = re;
18149 _errHandler.reportError(this, re);
18150 _errHandler.recover(this, re);
18151 }
18152 finally {
18153 exitRule();
18154 }
18155 return _localctx;
18156 }
18157
18158 public static class ForeignKeyOnActionContext extends ParserRuleContext {
18159 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18160 public ForeignKeyOnContext foreignKeyOn() {
18161 return getRuleContext(ForeignKeyOnContext.class,0);
18162 }
18163 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
18164 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
18165 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
18166 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18167 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
18168 public ForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
18169 super(parent, invokingState);
18170 }
18171 @Override public int getRuleIndex() { return RULE_foreignKeyOnAction; }
18172 @Override
18173 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18174 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOnAction(this);
18175 else return visitor.visitChildren(this);
18176 }
18177 }
18178
18179 public final ForeignKeyOnActionContext foreignKeyOnAction() throws RecognitionException {
18180 ForeignKeyOnActionContext _localctx = new ForeignKeyOnActionContext(_ctx, getState());
18181 enterRule(_localctx, 378, RULE_foreignKeyOnAction);
18182 int _la;
18183 try {
18184 setState(2766);
18185 _errHandler.sync(this);
18186 switch (_input.LA(1)) {
18187 case ON:
18188 enterOuterAlt(_localctx, 1);
18189 {
18190 setState(2760);
18191 match(ON);
18192 setState(2761);
18193 _la = _input.LA(1);
18194 if ( !(_la==UPDATE || _la==DELETE) ) {
18195 _errHandler.recoverInline(this);
18196 }
18197 else {
18198 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18199 _errHandler.reportMatch(this);
18200 consume();
18201 }
18202 setState(2762);
18203 foreignKeyOn();
18204 }
18205 break;
18206 case NOT:
18207 enterOuterAlt(_localctx, 2);
18208 {
18209 setState(2763);
18210 match(NOT);
18211 setState(2764);
18212 match(FOR);
18213 setState(2765);
18214 match(REPLICATION);
18215 }
18216 break;
18217 default:
18218 throw new NoViableAltException(this);
18219 }
18220 }
18221 catch (RecognitionException re) {
18222 _localctx.exception = re;
18223 _errHandler.reportError(this, re);
18224 _errHandler.recover(this, re);
18225 }
18226 finally {
18227 exitRule();
18228 }
18229 return _localctx;
18230 }
18231
18232 public static class ForeignKeyOnContext extends ParserRuleContext {
18233 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
18234 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
18235 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
18236 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
18237 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18238 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
18239 public ForeignKeyOnContext(ParserRuleContext parent, int invokingState) {
18240 super(parent, invokingState);
18241 }
18242 @Override public int getRuleIndex() { return RULE_foreignKeyOn; }
18243 @Override
18244 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18245 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOn(this);
18246 else return visitor.visitChildren(this);
18247 }
18248 }
18249
18250 public final ForeignKeyOnContext foreignKeyOn() throws RecognitionException {
18251 ForeignKeyOnContext _localctx = new ForeignKeyOnContext(_ctx, getState());
18252 enterRule(_localctx, 380, RULE_foreignKeyOn);
18253 int _la;
18254 try {
18255 setState(2773);
18256 _errHandler.sync(this);
18257 switch (_input.LA(1)) {
18258 case NO:
18259 enterOuterAlt(_localctx, 1);
18260 {
18261 setState(2768);
18262 match(NO);
18263 setState(2769);
18264 match(ACTION);
18265 }
18266 break;
18267 case CASCADE:
18268 enterOuterAlt(_localctx, 2);
18269 {
18270 setState(2770);
18271 match(CASCADE);
18272 }
18273 break;
18274 case SET:
18275 enterOuterAlt(_localctx, 3);
18276 {
18277 setState(2771);
18278 match(SET);
18279 setState(2772);
18280 _la = _input.LA(1);
18281 if ( !(_la==NULL || _la==DEFAULT) ) {
18282 _errHandler.recoverInline(this);
18283 }
18284 else {
18285 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18286 _errHandler.reportMatch(this);
18287 consume();
18288 }
18289 }
18290 break;
18291 default:
18292 throw new NoViableAltException(this);
18293 }
18294 }
18295 catch (RecognitionException re) {
18296 _localctx.exception = re;
18297 _errHandler.reportError(this, re);
18298 _errHandler.recover(this, re);
18299 }
18300 finally {
18301 exitRule();
18302 }
18303 return _localctx;
18304 }
18305
18306 public static class CheckConstraintContext extends ParserRuleContext {
18307 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
18308 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18309 public ExprContext expr() {
18310 return getRuleContext(ExprContext.class,0);
18311 }
18312 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18313 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
18314 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18315 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
18316 public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
18317 super(parent, invokingState);
18318 }
18319 @Override public int getRuleIndex() { return RULE_checkConstraint; }
18320 @Override
18321 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18322 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCheckConstraint(this);
18323 else return visitor.visitChildren(this);
18324 }
18325 }
18326
18327 public final CheckConstraintContext checkConstraint() throws RecognitionException {
18328 CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
18329 enterRule(_localctx, 382, RULE_checkConstraint);
18330 int _la;
18331 try {
18332 enterOuterAlt(_localctx, 1);
18333 {
18334 setState(2775);
18335 match(CHECK);
18336 setState(2779);
18337 _errHandler.sync(this);
18338 _la = _input.LA(1);
18339 if (_la==NOT) {
18340 {
18341 setState(2776);
18342 match(NOT);
18343 setState(2777);
18344 match(FOR);
18345 setState(2778);
18346 match(REPLICATION);
18347 }
18348 }
18349
18350 setState(2781);
18351 match(LP_);
18352 setState(2782);
18353 expr(0);
18354 setState(2783);
18355 match(RP_);
18356 }
18357 }
18358 catch (RecognitionException re) {
18359 _localctx.exception = re;
18360 _errHandler.reportError(this, re);
18361 _errHandler.recover(this, re);
18362 }
18363 finally {
18364 exitRule();
18365 }
18366 return _localctx;
18367 }
18368
18369 public static class ColumnIndexContext extends ParserRuleContext {
18370 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
18371 public IndexNameContext indexName() {
18372 return getRuleContext(IndexNameContext.class,0);
18373 }
18374 public ClusterOptionContext clusterOption() {
18375 return getRuleContext(ClusterOptionContext.class,0);
18376 }
18377 public WithIndexOptionContext withIndexOption() {
18378 return getRuleContext(WithIndexOptionContext.class,0);
18379 }
18380 public IndexOnClauseContext indexOnClause() {
18381 return getRuleContext(IndexOnClauseContext.class,0);
18382 }
18383 public FileStreamOnContext fileStreamOn() {
18384 return getRuleContext(FileStreamOnContext.class,0);
18385 }
18386 public ColumnIndexContext(ParserRuleContext parent, int invokingState) {
18387 super(parent, invokingState);
18388 }
18389 @Override public int getRuleIndex() { return RULE_columnIndex; }
18390 @Override
18391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnIndex(this);
18393 else return visitor.visitChildren(this);
18394 }
18395 }
18396
18397 public final ColumnIndexContext columnIndex() throws RecognitionException {
18398 ColumnIndexContext _localctx = new ColumnIndexContext(_ctx, getState());
18399 enterRule(_localctx, 384, RULE_columnIndex);
18400 int _la;
18401 try {
18402 enterOuterAlt(_localctx, 1);
18403 {
18404 setState(2785);
18405 match(INDEX);
18406 setState(2786);
18407 indexName();
18408 setState(2788);
18409 _errHandler.sync(this);
18410 _la = _input.LA(1);
18411 if (_la==CLUSTERED || _la==NONCLUSTERED) {
18412 {
18413 setState(2787);
18414 clusterOption();
18415 }
18416 }
18417
18418 setState(2791);
18419 _errHandler.sync(this);
18420 switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) {
18421 case 1:
18422 {
18423 setState(2790);
18424 withIndexOption();
18425 }
18426 break;
18427 }
18428 setState(2794);
18429 _errHandler.sync(this);
18430 _la = _input.LA(1);
18431 if (_la==ON) {
18432 {
18433 setState(2793);
18434 indexOnClause();
18435 }
18436 }
18437
18438 setState(2797);
18439 _errHandler.sync(this);
18440 _la = _input.LA(1);
18441 if (_la==FILESTREAM_ON) {
18442 {
18443 setState(2796);
18444 fileStreamOn();
18445 }
18446 }
18447
18448 }
18449 }
18450 catch (RecognitionException re) {
18451 _localctx.exception = re;
18452 _errHandler.reportError(this, re);
18453 _errHandler.recover(this, re);
18454 }
18455 finally {
18456 exitRule();
18457 }
18458 return _localctx;
18459 }
18460
18461 public static class WithIndexOptionContext extends ParserRuleContext {
18462 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18463 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18464 public List<IndexOptionContext> indexOption() {
18465 return getRuleContexts(IndexOptionContext.class);
18466 }
18467 public IndexOptionContext indexOption(int i) {
18468 return getRuleContext(IndexOptionContext.class,i);
18469 }
18470 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18471 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18472 public TerminalNode COMMA_(int i) {
18473 return getToken(SQLServerStatementParser.COMMA_, i);
18474 }
18475 public WithIndexOptionContext(ParserRuleContext parent, int invokingState) {
18476 super(parent, invokingState);
18477 }
18478 @Override public int getRuleIndex() { return RULE_withIndexOption; }
18479 @Override
18480 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18481 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithIndexOption(this);
18482 else return visitor.visitChildren(this);
18483 }
18484 }
18485
18486 public final WithIndexOptionContext withIndexOption() throws RecognitionException {
18487 WithIndexOptionContext _localctx = new WithIndexOptionContext(_ctx, getState());
18488 enterRule(_localctx, 386, RULE_withIndexOption);
18489 int _la;
18490 try {
18491 enterOuterAlt(_localctx, 1);
18492 {
18493 setState(2799);
18494 match(WITH);
18495 setState(2800);
18496 match(LP_);
18497 setState(2801);
18498 indexOption();
18499 setState(2806);
18500 _errHandler.sync(this);
18501 _la = _input.LA(1);
18502 while (_la==COMMA_) {
18503 {
18504 {
18505 setState(2802);
18506 match(COMMA_);
18507 setState(2803);
18508 indexOption();
18509 }
18510 }
18511 setState(2808);
18512 _errHandler.sync(this);
18513 _la = _input.LA(1);
18514 }
18515 setState(2809);
18516 match(RP_);
18517 }
18518 }
18519 catch (RecognitionException re) {
18520 _localctx.exception = re;
18521 _errHandler.reportError(this, re);
18522 _errHandler.recover(this, re);
18523 }
18524 finally {
18525 exitRule();
18526 }
18527 return _localctx;
18528 }
18529
18530 public static class IndexOnClauseContext extends ParserRuleContext {
18531 public OnSchemaColumnContext onSchemaColumn() {
18532 return getRuleContext(OnSchemaColumnContext.class,0);
18533 }
18534 public OnFileGroupContext onFileGroup() {
18535 return getRuleContext(OnFileGroupContext.class,0);
18536 }
18537 public OnDefaultContext onDefault() {
18538 return getRuleContext(OnDefaultContext.class,0);
18539 }
18540 public IndexOnClauseContext(ParserRuleContext parent, int invokingState) {
18541 super(parent, invokingState);
18542 }
18543 @Override public int getRuleIndex() { return RULE_indexOnClause; }
18544 @Override
18545 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18546 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOnClause(this);
18547 else return visitor.visitChildren(this);
18548 }
18549 }
18550
18551 public final IndexOnClauseContext indexOnClause() throws RecognitionException {
18552 IndexOnClauseContext _localctx = new IndexOnClauseContext(_ctx, getState());
18553 enterRule(_localctx, 388, RULE_indexOnClause);
18554 try {
18555 setState(2814);
18556 _errHandler.sync(this);
18557 switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) {
18558 case 1:
18559 enterOuterAlt(_localctx, 1);
18560 {
18561 setState(2811);
18562 onSchemaColumn();
18563 }
18564 break;
18565 case 2:
18566 enterOuterAlt(_localctx, 2);
18567 {
18568 setState(2812);
18569 onFileGroup();
18570 }
18571 break;
18572 case 3:
18573 enterOuterAlt(_localctx, 3);
18574 {
18575 setState(2813);
18576 onDefault();
18577 }
18578 break;
18579 }
18580 }
18581 catch (RecognitionException re) {
18582 _localctx.exception = re;
18583 _errHandler.reportError(this, re);
18584 _errHandler.recover(this, re);
18585 }
18586 finally {
18587 exitRule();
18588 }
18589 return _localctx;
18590 }
18591
18592 public static class OnDefaultContext extends ParserRuleContext {
18593 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18594 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
18595 public OnDefaultContext(ParserRuleContext parent, int invokingState) {
18596 super(parent, invokingState);
18597 }
18598 @Override public int getRuleIndex() { return RULE_onDefault; }
18599 @Override
18600 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18601 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnDefault(this);
18602 else return visitor.visitChildren(this);
18603 }
18604 }
18605
18606 public final OnDefaultContext onDefault() throws RecognitionException {
18607 OnDefaultContext _localctx = new OnDefaultContext(_ctx, getState());
18608 enterRule(_localctx, 390, RULE_onDefault);
18609 try {
18610 enterOuterAlt(_localctx, 1);
18611 {
18612 setState(2816);
18613 match(ON);
18614 setState(2817);
18615 match(DEFAULT);
18616 }
18617 }
18618 catch (RecognitionException re) {
18619 _localctx.exception = re;
18620 _errHandler.reportError(this, re);
18621 _errHandler.recover(this, re);
18622 }
18623 finally {
18624 exitRule();
18625 }
18626 return _localctx;
18627 }
18628
18629 public static class FileStreamOnContext extends ParserRuleContext {
18630 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
18631 public IgnoredIdentifierContext ignoredIdentifier() {
18632 return getRuleContext(IgnoredIdentifierContext.class,0);
18633 }
18634 public SchemaNameContext schemaName() {
18635 return getRuleContext(SchemaNameContext.class,0);
18636 }
18637 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
18638 public FileStreamOnContext(ParserRuleContext parent, int invokingState) {
18639 super(parent, invokingState);
18640 }
18641 @Override public int getRuleIndex() { return RULE_fileStreamOn; }
18642 @Override
18643 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18644 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOn(this);
18645 else return visitor.visitChildren(this);
18646 }
18647 }
18648
18649 public final FileStreamOnContext fileStreamOn() throws RecognitionException {
18650 FileStreamOnContext _localctx = new FileStreamOnContext(_ctx, getState());
18651 enterRule(_localctx, 392, RULE_fileStreamOn);
18652 try {
18653 enterOuterAlt(_localctx, 1);
18654 {
18655 setState(2819);
18656 match(FILESTREAM_ON);
18657 setState(2823);
18658 _errHandler.sync(this);
18659 switch ( getInterpreter().adaptivePredict(_input,228,_ctx) ) {
18660 case 1:
18661 {
18662 setState(2820);
18663 ignoredIdentifier();
18664 }
18665 break;
18666 case 2:
18667 {
18668 setState(2821);
18669 schemaName();
18670 }
18671 break;
18672 case 3:
18673 {
18674 setState(2822);
18675 match(STRING_);
18676 }
18677 break;
18678 }
18679 }
18680 }
18681 catch (RecognitionException re) {
18682 _localctx.exception = re;
18683 _errHandler.reportError(this, re);
18684 _errHandler.recover(this, re);
18685 }
18686 finally {
18687 exitRule();
18688 }
18689 return _localctx;
18690 }
18691
18692 public static class ColumnConstraintsContext extends ParserRuleContext {
18693 public List<ColumnConstraintContext> columnConstraint() {
18694 return getRuleContexts(ColumnConstraintContext.class);
18695 }
18696 public ColumnConstraintContext columnConstraint(int i) {
18697 return getRuleContext(ColumnConstraintContext.class,i);
18698 }
18699 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18700 public TerminalNode COMMA_(int i) {
18701 return getToken(SQLServerStatementParser.COMMA_, i);
18702 }
18703 public ColumnConstraintsContext(ParserRuleContext parent, int invokingState) {
18704 super(parent, invokingState);
18705 }
18706 @Override public int getRuleIndex() { return RULE_columnConstraints; }
18707 @Override
18708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18709 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraints(this);
18710 else return visitor.visitChildren(this);
18711 }
18712 }
18713
18714 public final ColumnConstraintsContext columnConstraints() throws RecognitionException {
18715 ColumnConstraintsContext _localctx = new ColumnConstraintsContext(_ctx, getState());
18716 enterRule(_localctx, 394, RULE_columnConstraints);
18717 try {
18718 int _alt;
18719 enterOuterAlt(_localctx, 1);
18720 {
18721 setState(2833);
18722 _errHandler.sync(this);
18723 switch ( getInterpreter().adaptivePredict(_input,230,_ctx) ) {
18724 case 1:
18725 {
18726 setState(2825);
18727 columnConstraint();
18728 setState(2830);
18729 _errHandler.sync(this);
18730 _alt = getInterpreter().adaptivePredict(_input,229,_ctx);
18731 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
18732 if ( _alt==1 ) {
18733 {
18734 {
18735 setState(2826);
18736 match(COMMA_);
18737 setState(2827);
18738 columnConstraint();
18739 }
18740 }
18741 }
18742 setState(2832);
18743 _errHandler.sync(this);
18744 _alt = getInterpreter().adaptivePredict(_input,229,_ctx);
18745 }
18746 }
18747 break;
18748 }
18749 }
18750 }
18751 catch (RecognitionException re) {
18752 _localctx.exception = re;
18753 _errHandler.reportError(this, re);
18754 _errHandler.recover(this, re);
18755 }
18756 finally {
18757 exitRule();
18758 }
18759 return _localctx;
18760 }
18761
18762 public static class ComputedColumnDefinitionContext extends ParserRuleContext {
18763 public ColumnNameContext columnName() {
18764 return getRuleContext(ColumnNameContext.class,0);
18765 }
18766 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
18767 public ExprContext expr() {
18768 return getRuleContext(ExprContext.class,0);
18769 }
18770 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
18771 public ComputedColumnConstraintContext computedColumnConstraint() {
18772 return getRuleContext(ComputedColumnConstraintContext.class,0);
18773 }
18774 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
18775 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18776 public ComputedColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
18777 super(parent, invokingState);
18778 }
18779 @Override public int getRuleIndex() { return RULE_computedColumnDefinition; }
18780 @Override
18781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18782 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnDefinition(this);
18783 else return visitor.visitChildren(this);
18784 }
18785 }
18786
18787 public final ComputedColumnDefinitionContext computedColumnDefinition() throws RecognitionException {
18788 ComputedColumnDefinitionContext _localctx = new ComputedColumnDefinitionContext(_ctx, getState());
18789 enterRule(_localctx, 396, RULE_computedColumnDefinition);
18790 int _la;
18791 try {
18792 enterOuterAlt(_localctx, 1);
18793 {
18794 setState(2835);
18795 columnName();
18796 setState(2836);
18797 match(AS);
18798 setState(2837);
18799 expr(0);
18800 setState(2843);
18801 _errHandler.sync(this);
18802 switch ( getInterpreter().adaptivePredict(_input,232,_ctx) ) {
18803 case 1:
18804 {
18805 setState(2838);
18806 match(PERSISTED);
18807 setState(2841);
18808 _errHandler.sync(this);
18809 _la = _input.LA(1);
18810 if (_la==NOT) {
18811 {
18812 setState(2839);
18813 match(NOT);
18814 setState(2840);
18815 match(NULL);
18816 }
18817 }
18818
18819 }
18820 break;
18821 }
18822 setState(2846);
18823 _errHandler.sync(this);
18824 switch ( getInterpreter().adaptivePredict(_input,233,_ctx) ) {
18825 case 1:
18826 {
18827 setState(2845);
18828 computedColumnConstraint();
18829 }
18830 break;
18831 }
18832 }
18833 }
18834 catch (RecognitionException re) {
18835 _localctx.exception = re;
18836 _errHandler.reportError(this, re);
18837 _errHandler.recover(this, re);
18838 }
18839 finally {
18840 exitRule();
18841 }
18842 return _localctx;
18843 }
18844
18845 public static class ColumnSetDefinitionContext extends ParserRuleContext {
18846 public IgnoredIdentifierContext ignoredIdentifier() {
18847 return getRuleContext(IgnoredIdentifierContext.class,0);
18848 }
18849 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
18850 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
18851 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18852 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
18853 public ColumnSetDefinitionContext(ParserRuleContext parent, int invokingState) {
18854 super(parent, invokingState);
18855 }
18856 @Override public int getRuleIndex() { return RULE_columnSetDefinition; }
18857 @Override
18858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18859 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnSetDefinition(this);
18860 else return visitor.visitChildren(this);
18861 }
18862 }
18863
18864 public final ColumnSetDefinitionContext columnSetDefinition() throws RecognitionException {
18865 ColumnSetDefinitionContext _localctx = new ColumnSetDefinitionContext(_ctx, getState());
18866 enterRule(_localctx, 398, RULE_columnSetDefinition);
18867 try {
18868 enterOuterAlt(_localctx, 1);
18869 {
18870 setState(2848);
18871 ignoredIdentifier();
18872 setState(2849);
18873 match(IDENTIFIER_);
18874 setState(2850);
18875 match(COLUMN_SET);
18876 setState(2851);
18877 match(FOR);
18878 setState(2852);
18879 match(ALL_SPARSE_COLUMNS);
18880 }
18881 }
18882 catch (RecognitionException re) {
18883 _localctx.exception = re;
18884 _errHandler.reportError(this, re);
18885 _errHandler.recover(this, re);
18886 }
18887 finally {
18888 exitRule();
18889 }
18890 return _localctx;
18891 }
18892
18893 public static class TableConstraintContext extends ParserRuleContext {
18894 public TablePrimaryConstraintContext tablePrimaryConstraint() {
18895 return getRuleContext(TablePrimaryConstraintContext.class,0);
18896 }
18897 public TableForeignKeyConstraintContext tableForeignKeyConstraint() {
18898 return getRuleContext(TableForeignKeyConstraintContext.class,0);
18899 }
18900 public CheckConstraintContext checkConstraint() {
18901 return getRuleContext(CheckConstraintContext.class,0);
18902 }
18903 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
18904 public ConstraintNameContext constraintName() {
18905 return getRuleContext(ConstraintNameContext.class,0);
18906 }
18907 public TableConstraintContext(ParserRuleContext parent, int invokingState) {
18908 super(parent, invokingState);
18909 }
18910 @Override public int getRuleIndex() { return RULE_tableConstraint; }
18911 @Override
18912 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18913 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableConstraint(this);
18914 else return visitor.visitChildren(this);
18915 }
18916 }
18917
18918 public final TableConstraintContext tableConstraint() throws RecognitionException {
18919 TableConstraintContext _localctx = new TableConstraintContext(_ctx, getState());
18920 enterRule(_localctx, 400, RULE_tableConstraint);
18921 int _la;
18922 try {
18923 enterOuterAlt(_localctx, 1);
18924 {
18925 setState(2856);
18926 _errHandler.sync(this);
18927 _la = _input.LA(1);
18928 if (_la==CONSTRAINT) {
18929 {
18930 setState(2854);
18931 match(CONSTRAINT);
18932 setState(2855);
18933 constraintName();
18934 }
18935 }
18936
18937 setState(2861);
18938 _errHandler.sync(this);
18939 switch (_input.LA(1)) {
18940 case PRIMARY:
18941 case UNIQUE:
18942 case KEY:
18943 {
18944 setState(2858);
18945 tablePrimaryConstraint();
18946 }
18947 break;
18948 case LP_:
18949 case FOREIGN:
18950 {
18951 setState(2859);
18952 tableForeignKeyConstraint();
18953 }
18954 break;
18955 case CHECK:
18956 {
18957 setState(2860);
18958 checkConstraint();
18959 }
18960 break;
18961 default:
18962 throw new NoViableAltException(this);
18963 }
18964 }
18965 }
18966 catch (RecognitionException re) {
18967 _localctx.exception = re;
18968 _errHandler.reportError(this, re);
18969 _errHandler.recover(this, re);
18970 }
18971 finally {
18972 exitRule();
18973 }
18974 return _localctx;
18975 }
18976
18977 public static class TablePrimaryConstraintContext extends ParserRuleContext {
18978 public PrimaryKeyUniqueContext primaryKeyUnique() {
18979 return getRuleContext(PrimaryKeyUniqueContext.class,0);
18980 }
18981 public DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() {
18982 return getRuleContext(DiskTablePrimaryConstraintOptionContext.class,0);
18983 }
18984 public MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() {
18985 return getRuleContext(MemoryTablePrimaryConstraintOptionContext.class,0);
18986 }
18987 public TablePrimaryConstraintContext(ParserRuleContext parent, int invokingState) {
18988 super(parent, invokingState);
18989 }
18990 @Override public int getRuleIndex() { return RULE_tablePrimaryConstraint; }
18991 @Override
18992 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18993 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTablePrimaryConstraint(this);
18994 else return visitor.visitChildren(this);
18995 }
18996 }
18997
18998 public final TablePrimaryConstraintContext tablePrimaryConstraint() throws RecognitionException {
18999 TablePrimaryConstraintContext _localctx = new TablePrimaryConstraintContext(_ctx, getState());
19000 enterRule(_localctx, 402, RULE_tablePrimaryConstraint);
19001 try {
19002 enterOuterAlt(_localctx, 1);
19003 {
19004 setState(2863);
19005 primaryKeyUnique();
19006 setState(2866);
19007 _errHandler.sync(this);
19008 switch ( getInterpreter().adaptivePredict(_input,236,_ctx) ) {
19009 case 1:
19010 {
19011 setState(2864);
19012 diskTablePrimaryConstraintOption();
19013 }
19014 break;
19015 case 2:
19016 {
19017 setState(2865);
19018 memoryTablePrimaryConstraintOption();
19019 }
19020 break;
19021 }
19022 }
19023 }
19024 catch (RecognitionException re) {
19025 _localctx.exception = re;
19026 _errHandler.reportError(this, re);
19027 _errHandler.recover(this, re);
19028 }
19029 finally {
19030 exitRule();
19031 }
19032 return _localctx;
19033 }
19034
19035 public static class PrimaryKeyUniqueContext extends ParserRuleContext {
19036 public PrimaryKeyContext primaryKey() {
19037 return getRuleContext(PrimaryKeyContext.class,0);
19038 }
19039 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
19040 public PrimaryKeyUniqueContext(ParserRuleContext parent, int invokingState) {
19041 super(parent, invokingState);
19042 }
19043 @Override public int getRuleIndex() { return RULE_primaryKeyUnique; }
19044 @Override
19045 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19046 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyUnique(this);
19047 else return visitor.visitChildren(this);
19048 }
19049 }
19050
19051 public final PrimaryKeyUniqueContext primaryKeyUnique() throws RecognitionException {
19052 PrimaryKeyUniqueContext _localctx = new PrimaryKeyUniqueContext(_ctx, getState());
19053 enterRule(_localctx, 404, RULE_primaryKeyUnique);
19054 try {
19055 setState(2870);
19056 _errHandler.sync(this);
19057 switch (_input.LA(1)) {
19058 case PRIMARY:
19059 case KEY:
19060 enterOuterAlt(_localctx, 1);
19061 {
19062 setState(2868);
19063 primaryKey();
19064 }
19065 break;
19066 case UNIQUE:
19067 enterOuterAlt(_localctx, 2);
19068 {
19069 setState(2869);
19070 match(UNIQUE);
19071 }
19072 break;
19073 default:
19074 throw new NoViableAltException(this);
19075 }
19076 }
19077 catch (RecognitionException re) {
19078 _localctx.exception = re;
19079 _errHandler.reportError(this, re);
19080 _errHandler.recover(this, re);
19081 }
19082 finally {
19083 exitRule();
19084 }
19085 return _localctx;
19086 }
19087
19088 public static class DiskTablePrimaryConstraintOptionContext extends ParserRuleContext {
19089 public ColumnNamesContext columnNames() {
19090 return getRuleContext(ColumnNamesContext.class,0);
19091 }
19092 public ClusterOptionContext clusterOption() {
19093 return getRuleContext(ClusterOptionContext.class,0);
19094 }
19095 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
19096 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
19097 }
19098 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
19099 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
19100 }
19101 public DiskTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
19102 super(parent, invokingState);
19103 }
19104 @Override public int getRuleIndex() { return RULE_diskTablePrimaryConstraintOption; }
19105 @Override
19106 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19107 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryConstraintOption(this);
19108 else return visitor.visitChildren(this);
19109 }
19110 }
19111
19112 public final DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() throws RecognitionException {
19113 DiskTablePrimaryConstraintOptionContext _localctx = new DiskTablePrimaryConstraintOptionContext(_ctx, getState());
19114 enterRule(_localctx, 406, RULE_diskTablePrimaryConstraintOption);
19115 int _la;
19116 try {
19117 enterOuterAlt(_localctx, 1);
19118 {
19119 setState(2873);
19120 _errHandler.sync(this);
19121 _la = _input.LA(1);
19122 if (_la==CLUSTERED || _la==NONCLUSTERED) {
19123 {
19124 setState(2872);
19125 clusterOption();
19126 }
19127 }
19128
19129 setState(2875);
19130 columnNames();
19131 setState(2877);
19132 _errHandler.sync(this);
19133 switch ( getInterpreter().adaptivePredict(_input,239,_ctx) ) {
19134 case 1:
19135 {
19136 setState(2876);
19137 primaryKeyWithClause();
19138 }
19139 break;
19140 }
19141 setState(2880);
19142 _errHandler.sync(this);
19143 _la = _input.LA(1);
19144 if (_la==ON) {
19145 {
19146 setState(2879);
19147 primaryKeyOnClause();
19148 }
19149 }
19150
19151 }
19152 }
19153 catch (RecognitionException re) {
19154 _localctx.exception = re;
19155 _errHandler.reportError(this, re);
19156 _errHandler.recover(this, re);
19157 }
19158 finally {
19159 exitRule();
19160 }
19161 return _localctx;
19162 }
19163
19164 public static class MemoryTablePrimaryConstraintOptionContext extends ParserRuleContext {
19165 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
19166 public ColumnNamesContext columnNames() {
19167 return getRuleContext(ColumnNamesContext.class,0);
19168 }
19169 public HashWithBucketContext hashWithBucket() {
19170 return getRuleContext(HashWithBucketContext.class,0);
19171 }
19172 public MemoryTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
19173 super(parent, invokingState);
19174 }
19175 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryConstraintOption; }
19176 @Override
19177 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19178 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryConstraintOption(this);
19179 else return visitor.visitChildren(this);
19180 }
19181 }
19182
19183 public final MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() throws RecognitionException {
19184 MemoryTablePrimaryConstraintOptionContext _localctx = new MemoryTablePrimaryConstraintOptionContext(_ctx, getState());
19185 enterRule(_localctx, 408, RULE_memoryTablePrimaryConstraintOption);
19186 try {
19187 enterOuterAlt(_localctx, 1);
19188 {
19189 setState(2882);
19190 match(NONCLUSTERED);
19191 setState(2885);
19192 _errHandler.sync(this);
19193 switch (_input.LA(1)) {
19194 case LP_:
19195 {
19196 setState(2883);
19197 columnNames();
19198 }
19199 break;
19200 case HASH:
19201 {
19202 setState(2884);
19203 hashWithBucket();
19204 }
19205 break;
19206 default:
19207 throw new NoViableAltException(this);
19208 }
19209 }
19210 }
19211 catch (RecognitionException re) {
19212 _localctx.exception = re;
19213 _errHandler.reportError(this, re);
19214 _errHandler.recover(this, re);
19215 }
19216 finally {
19217 exitRule();
19218 }
19219 return _localctx;
19220 }
19221
19222 public static class HashWithBucketContext extends ParserRuleContext {
19223 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
19224 public ColumnNamesContext columnNames() {
19225 return getRuleContext(ColumnNamesContext.class,0);
19226 }
19227 public WithBucketContext withBucket() {
19228 return getRuleContext(WithBucketContext.class,0);
19229 }
19230 public HashWithBucketContext(ParserRuleContext parent, int invokingState) {
19231 super(parent, invokingState);
19232 }
19233 @Override public int getRuleIndex() { return RULE_hashWithBucket; }
19234 @Override
19235 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19236 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashWithBucket(this);
19237 else return visitor.visitChildren(this);
19238 }
19239 }
19240
19241 public final HashWithBucketContext hashWithBucket() throws RecognitionException {
19242 HashWithBucketContext _localctx = new HashWithBucketContext(_ctx, getState());
19243 enterRule(_localctx, 410, RULE_hashWithBucket);
19244 try {
19245 enterOuterAlt(_localctx, 1);
19246 {
19247 setState(2887);
19248 match(HASH);
19249 setState(2888);
19250 columnNames();
19251 setState(2889);
19252 withBucket();
19253 }
19254 }
19255 catch (RecognitionException re) {
19256 _localctx.exception = re;
19257 _errHandler.reportError(this, re);
19258 _errHandler.recover(this, re);
19259 }
19260 finally {
19261 exitRule();
19262 }
19263 return _localctx;
19264 }
19265
19266 public static class TableForeignKeyConstraintContext extends ParserRuleContext {
19267 public List<ColumnNamesContext> columnNames() {
19268 return getRuleContexts(ColumnNamesContext.class);
19269 }
19270 public ColumnNamesContext columnNames(int i) {
19271 return getRuleContext(ColumnNamesContext.class,i);
19272 }
19273 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
19274 public TableNameContext tableName() {
19275 return getRuleContext(TableNameContext.class,0);
19276 }
19277 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
19278 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
19279 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
19280 return getRuleContexts(ForeignKeyOnActionContext.class);
19281 }
19282 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
19283 return getRuleContext(ForeignKeyOnActionContext.class,i);
19284 }
19285 public TableForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
19286 super(parent, invokingState);
19287 }
19288 @Override public int getRuleIndex() { return RULE_tableForeignKeyConstraint; }
19289 @Override
19290 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19291 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableForeignKeyConstraint(this);
19292 else return visitor.visitChildren(this);
19293 }
19294 }
19295
19296 public final TableForeignKeyConstraintContext tableForeignKeyConstraint() throws RecognitionException {
19297 TableForeignKeyConstraintContext _localctx = new TableForeignKeyConstraintContext(_ctx, getState());
19298 enterRule(_localctx, 412, RULE_tableForeignKeyConstraint);
19299 int _la;
19300 try {
19301 enterOuterAlt(_localctx, 1);
19302 {
19303 setState(2893);
19304 _errHandler.sync(this);
19305 _la = _input.LA(1);
19306 if (_la==FOREIGN) {
19307 {
19308 setState(2891);
19309 match(FOREIGN);
19310 setState(2892);
19311 match(KEY);
19312 }
19313 }
19314
19315 setState(2895);
19316 columnNames();
19317 setState(2896);
19318 match(REFERENCES);
19319 setState(2897);
19320 tableName();
19321 setState(2898);
19322 columnNames();
19323 setState(2902);
19324 _errHandler.sync(this);
19325 _la = _input.LA(1);
19326 while (_la==ON || _la==NOT) {
19327 {
19328 {
19329 setState(2899);
19330 foreignKeyOnAction();
19331 }
19332 }
19333 setState(2904);
19334 _errHandler.sync(this);
19335 _la = _input.LA(1);
19336 }
19337 }
19338 }
19339 catch (RecognitionException re) {
19340 _localctx.exception = re;
19341 _errHandler.reportError(this, re);
19342 _errHandler.recover(this, re);
19343 }
19344 finally {
19345 exitRule();
19346 }
19347 return _localctx;
19348 }
19349
19350 public static class TableIndexContext extends ParserRuleContext {
19351 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
19352 public IndexNameContext indexName() {
19353 return getRuleContext(IndexNameContext.class,0);
19354 }
19355 public IndexNameOptionContext indexNameOption() {
19356 return getRuleContext(IndexNameOptionContext.class,0);
19357 }
19358 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19359 public IndexOptionsContext indexOptions() {
19360 return getRuleContext(IndexOptionsContext.class,0);
19361 }
19362 public IndexOnClauseContext indexOnClause() {
19363 return getRuleContext(IndexOnClauseContext.class,0);
19364 }
19365 public FileStreamOnContext fileStreamOn() {
19366 return getRuleContext(FileStreamOnContext.class,0);
19367 }
19368 public TableIndexContext(ParserRuleContext parent, int invokingState) {
19369 super(parent, invokingState);
19370 }
19371 @Override public int getRuleIndex() { return RULE_tableIndex; }
19372 @Override
19373 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19374 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableIndex(this);
19375 else return visitor.visitChildren(this);
19376 }
19377 }
19378
19379 public final TableIndexContext tableIndex() throws RecognitionException {
19380 TableIndexContext _localctx = new TableIndexContext(_ctx, getState());
19381 enterRule(_localctx, 414, RULE_tableIndex);
19382 int _la;
19383 try {
19384 enterOuterAlt(_localctx, 1);
19385 {
19386 setState(2905);
19387 match(INDEX);
19388 setState(2906);
19389 indexName();
19390 setState(2907);
19391 indexNameOption();
19392 setState(2910);
19393 _errHandler.sync(this);
19394 _la = _input.LA(1);
19395 if (_la==WITH) {
19396 {
19397 setState(2908);
19398 match(WITH);
19399 setState(2909);
19400 indexOptions();
19401 }
19402 }
19403
19404 setState(2913);
19405 _errHandler.sync(this);
19406 _la = _input.LA(1);
19407 if (_la==ON) {
19408 {
19409 setState(2912);
19410 indexOnClause();
19411 }
19412 }
19413
19414 setState(2916);
19415 _errHandler.sync(this);
19416 _la = _input.LA(1);
19417 if (_la==FILESTREAM_ON) {
19418 {
19419 setState(2915);
19420 fileStreamOn();
19421 }
19422 }
19423
19424 }
19425 }
19426 catch (RecognitionException re) {
19427 _localctx.exception = re;
19428 _errHandler.reportError(this, re);
19429 _errHandler.recover(this, re);
19430 }
19431 finally {
19432 exitRule();
19433 }
19434 return _localctx;
19435 }
19436
19437 public static class IndexNameOptionContext extends ParserRuleContext {
19438 public ColumnNamesContext columnNames() {
19439 return getRuleContext(ColumnNamesContext.class,0);
19440 }
19441 public ClusterOptionContext clusterOption() {
19442 return getRuleContext(ClusterOptionContext.class,0);
19443 }
19444 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
19445 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
19446 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
19447 public IndexNameOptionContext(ParserRuleContext parent, int invokingState) {
19448 super(parent, invokingState);
19449 }
19450 @Override public int getRuleIndex() { return RULE_indexNameOption; }
19451 @Override
19452 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19453 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNameOption(this);
19454 else return visitor.visitChildren(this);
19455 }
19456 }
19457
19458 public final IndexNameOptionContext indexNameOption() throws RecognitionException {
19459 IndexNameOptionContext _localctx = new IndexNameOptionContext(_ctx, getState());
19460 enterRule(_localctx, 416, RULE_indexNameOption);
19461 int _la;
19462 try {
19463 setState(2929);
19464 _errHandler.sync(this);
19465 switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) {
19466 case 1:
19467 enterOuterAlt(_localctx, 1);
19468 {
19469 setState(2919);
19470 _errHandler.sync(this);
19471 _la = _input.LA(1);
19472 if (_la==CLUSTERED || _la==NONCLUSTERED) {
19473 {
19474 setState(2918);
19475 clusterOption();
19476 }
19477 }
19478
19479 setState(2921);
19480 columnNames();
19481 }
19482 break;
19483 case 2:
19484 enterOuterAlt(_localctx, 2);
19485 {
19486 setState(2922);
19487 match(CLUSTERED);
19488 setState(2923);
19489 match(COLUMNSTORE);
19490 }
19491 break;
19492 case 3:
19493 enterOuterAlt(_localctx, 3);
19494 {
19495 setState(2925);
19496 _errHandler.sync(this);
19497 _la = _input.LA(1);
19498 if (_la==NONCLUSTERED) {
19499 {
19500 setState(2924);
19501 match(NONCLUSTERED);
19502 }
19503 }
19504
19505 setState(2927);
19506 match(COLUMNSTORE);
19507 setState(2928);
19508 columnNames();
19509 }
19510 break;
19511 }
19512 }
19513 catch (RecognitionException re) {
19514 _localctx.exception = re;
19515 _errHandler.reportError(this, re);
19516 _errHandler.recover(this, re);
19517 }
19518 finally {
19519 exitRule();
19520 }
19521 return _localctx;
19522 }
19523
19524 public static class IndexOptionsContext extends ParserRuleContext {
19525 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19526 public List<IndexOptionContext> indexOption() {
19527 return getRuleContexts(IndexOptionContext.class);
19528 }
19529 public IndexOptionContext indexOption(int i) {
19530 return getRuleContext(IndexOptionContext.class,i);
19531 }
19532 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19533 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19534 public TerminalNode COMMA_(int i) {
19535 return getToken(SQLServerStatementParser.COMMA_, i);
19536 }
19537 public IndexOptionsContext(ParserRuleContext parent, int invokingState) {
19538 super(parent, invokingState);
19539 }
19540 @Override public int getRuleIndex() { return RULE_indexOptions; }
19541 @Override
19542 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19543 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOptions(this);
19544 else return visitor.visitChildren(this);
19545 }
19546 }
19547
19548 public final IndexOptionsContext indexOptions() throws RecognitionException {
19549 IndexOptionsContext _localctx = new IndexOptionsContext(_ctx, getState());
19550 enterRule(_localctx, 418, RULE_indexOptions);
19551 int _la;
19552 try {
19553 enterOuterAlt(_localctx, 1);
19554 {
19555 setState(2931);
19556 match(LP_);
19557 setState(2932);
19558 indexOption();
19559 setState(2937);
19560 _errHandler.sync(this);
19561 _la = _input.LA(1);
19562 while (_la==COMMA_) {
19563 {
19564 {
19565 setState(2933);
19566 match(COMMA_);
19567 setState(2934);
19568 indexOption();
19569 }
19570 }
19571 setState(2939);
19572 _errHandler.sync(this);
19573 _la = _input.LA(1);
19574 }
19575 setState(2940);
19576 match(RP_);
19577 }
19578 }
19579 catch (RecognitionException re) {
19580 _localctx.exception = re;
19581 _errHandler.reportError(this, re);
19582 _errHandler.recover(this, re);
19583 }
19584 finally {
19585 exitRule();
19586 }
19587 return _localctx;
19588 }
19589
19590 public static class PeriodClauseContext extends ParserRuleContext {
19591 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
19592 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
19593 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
19594 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19595 public List<ColumnNameContext> columnName() {
19596 return getRuleContexts(ColumnNameContext.class);
19597 }
19598 public ColumnNameContext columnName(int i) {
19599 return getRuleContext(ColumnNameContext.class,i);
19600 }
19601 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19602 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19603 public PeriodClauseContext(ParserRuleContext parent, int invokingState) {
19604 super(parent, invokingState);
19605 }
19606 @Override public int getRuleIndex() { return RULE_periodClause; }
19607 @Override
19608 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19609 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPeriodClause(this);
19610 else return visitor.visitChildren(this);
19611 }
19612 }
19613
19614 public final PeriodClauseContext periodClause() throws RecognitionException {
19615 PeriodClauseContext _localctx = new PeriodClauseContext(_ctx, getState());
19616 enterRule(_localctx, 420, RULE_periodClause);
19617 try {
19618 enterOuterAlt(_localctx, 1);
19619 {
19620 setState(2942);
19621 match(PERIOD);
19622 setState(2943);
19623 match(FOR);
19624 setState(2944);
19625 match(SYSTEM_TIME);
19626 setState(2945);
19627 match(LP_);
19628 setState(2946);
19629 columnName();
19630 setState(2947);
19631 match(COMMA_);
19632 setState(2948);
19633 columnName();
19634 setState(2949);
19635 match(RP_);
19636 }
19637 }
19638 catch (RecognitionException re) {
19639 _localctx.exception = re;
19640 _errHandler.reportError(this, re);
19641 _errHandler.recover(this, re);
19642 }
19643 finally {
19644 exitRule();
19645 }
19646 return _localctx;
19647 }
19648
19649 public static class PartitionSchemeContext extends ParserRuleContext {
19650 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19651 public SchemaNameContext schemaName() {
19652 return getRuleContext(SchemaNameContext.class,0);
19653 }
19654 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19655 public ColumnNameContext columnName() {
19656 return getRuleContext(ColumnNameContext.class,0);
19657 }
19658 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19659 public IgnoredIdentifierContext ignoredIdentifier() {
19660 return getRuleContext(IgnoredIdentifierContext.class,0);
19661 }
19662 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
19663 public PartitionSchemeContext(ParserRuleContext parent, int invokingState) {
19664 super(parent, invokingState);
19665 }
19666 @Override public int getRuleIndex() { return RULE_partitionScheme; }
19667 @Override
19668 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19669 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionScheme(this);
19670 else return visitor.visitChildren(this);
19671 }
19672 }
19673
19674 public final PartitionSchemeContext partitionScheme() throws RecognitionException {
19675 PartitionSchemeContext _localctx = new PartitionSchemeContext(_ctx, getState());
19676 enterRule(_localctx, 422, RULE_partitionScheme);
19677 int _la;
19678 try {
19679 enterOuterAlt(_localctx, 1);
19680 {
19681 setState(2961);
19682 _errHandler.sync(this);
19683 _la = _input.LA(1);
19684 if (_la==ON) {
19685 {
19686 setState(2951);
19687 match(ON);
19688 setState(2959);
19689 _errHandler.sync(this);
19690 switch ( getInterpreter().adaptivePredict(_input,251,_ctx) ) {
19691 case 1:
19692 {
19693 setState(2952);
19694 schemaName();
19695 setState(2953);
19696 match(LP_);
19697 setState(2954);
19698 columnName();
19699 setState(2955);
19700 match(RP_);
19701 }
19702 break;
19703 case 2:
19704 {
19705 setState(2957);
19706 ignoredIdentifier();
19707 }
19708 break;
19709 case 3:
19710 {
19711 setState(2958);
19712 match(STRING_);
19713 }
19714 break;
19715 }
19716 }
19717 }
19718
19719 }
19720 }
19721 catch (RecognitionException re) {
19722 _localctx.exception = re;
19723 _errHandler.reportError(this, re);
19724 _errHandler.recover(this, re);
19725 }
19726 finally {
19727 exitRule();
19728 }
19729 return _localctx;
19730 }
19731
19732 public static class FileGroupContext extends ParserRuleContext {
19733 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
19734 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19735 public TableOptionsContext tableOptions() {
19736 return getRuleContext(TableOptionsContext.class,0);
19737 }
19738 public List<IgnoredIdentifierContext> ignoredIdentifier() {
19739 return getRuleContexts(IgnoredIdentifierContext.class);
19740 }
19741 public IgnoredIdentifierContext ignoredIdentifier(int i) {
19742 return getRuleContext(IgnoredIdentifierContext.class,i);
19743 }
19744 public List<TerminalNode> STRING_() { return getTokens(SQLServerStatementParser.STRING_); }
19745 public TerminalNode STRING_(int i) {
19746 return getToken(SQLServerStatementParser.STRING_, i);
19747 }
19748 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
19749 public SchemaNameContext schemaName() {
19750 return getRuleContext(SchemaNameContext.class,0);
19751 }
19752 public FileGroupContext(ParserRuleContext parent, int invokingState) {
19753 super(parent, invokingState);
19754 }
19755 @Override public int getRuleIndex() { return RULE_fileGroup; }
19756 @Override
19757 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19758 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileGroup(this);
19759 else return visitor.visitChildren(this);
19760 }
19761 }
19762
19763 public final FileGroupContext fileGroup() throws RecognitionException {
19764 FileGroupContext _localctx = new FileGroupContext(_ctx, getState());
19765 enterRule(_localctx, 424, RULE_fileGroup);
19766 int _la;
19767 try {
19768 enterOuterAlt(_localctx, 1);
19769 {
19770 setState(2968);
19771 _errHandler.sync(this);
19772 _la = _input.LA(1);
19773 if (_la==TEXTIMAGE_ON) {
19774 {
19775 setState(2963);
19776 match(TEXTIMAGE_ON);
19777 setState(2966);
19778 _errHandler.sync(this);
19779 switch (_input.LA(1)) {
19780 case IDENTIFIER_:
19781 {
19782 setState(2964);
19783 ignoredIdentifier();
19784 }
19785 break;
19786 case STRING_:
19787 {
19788 setState(2965);
19789 match(STRING_);
19790 }
19791 break;
19792 default:
19793 throw new NoViableAltException(this);
19794 }
19795 }
19796 }
19797
19798 setState(2977);
19799 _errHandler.sync(this);
19800 _la = _input.LA(1);
19801 if (_la==FILESTREAM_ON || _la==IDENTIFIER_) {
19802 {
19803 setState(2975);
19804 _errHandler.sync(this);
19805 switch (_input.LA(1)) {
19806 case FILESTREAM_ON:
19807 {
19808 setState(2970);
19809 match(FILESTREAM_ON);
19810 {
19811 setState(2971);
19812 schemaName();
19813 }
19814 }
19815 break;
19816 case IDENTIFIER_:
19817 {
19818 setState(2972);
19819 ignoredIdentifier();
19820 setState(2973);
19821 match(STRING_);
19822 }
19823 break;
19824 default:
19825 throw new NoViableAltException(this);
19826 }
19827 }
19828 }
19829
19830 setState(2981);
19831 _errHandler.sync(this);
19832 switch ( getInterpreter().adaptivePredict(_input,257,_ctx) ) {
19833 case 1:
19834 {
19835 setState(2979);
19836 match(WITH);
19837 setState(2980);
19838 tableOptions();
19839 }
19840 break;
19841 }
19842 }
19843 }
19844 catch (RecognitionException re) {
19845 _localctx.exception = re;
19846 _errHandler.reportError(this, re);
19847 _errHandler.recover(this, re);
19848 }
19849 finally {
19850 exitRule();
19851 }
19852 return _localctx;
19853 }
19854
19855 public static class TableOptionsContext extends ParserRuleContext {
19856 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19857 public List<TableOptionContext> tableOption() {
19858 return getRuleContexts(TableOptionContext.class);
19859 }
19860 public TableOptionContext tableOption(int i) {
19861 return getRuleContext(TableOptionContext.class,i);
19862 }
19863 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19864 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19865 public TerminalNode COMMA_(int i) {
19866 return getToken(SQLServerStatementParser.COMMA_, i);
19867 }
19868 public TableOptionsContext(ParserRuleContext parent, int invokingState) {
19869 super(parent, invokingState);
19870 }
19871 @Override public int getRuleIndex() { return RULE_tableOptions; }
19872 @Override
19873 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19874 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOptions(this);
19875 else return visitor.visitChildren(this);
19876 }
19877 }
19878
19879 public final TableOptionsContext tableOptions() throws RecognitionException {
19880 TableOptionsContext _localctx = new TableOptionsContext(_ctx, getState());
19881 enterRule(_localctx, 426, RULE_tableOptions);
19882 int _la;
19883 try {
19884 enterOuterAlt(_localctx, 1);
19885 {
19886 setState(2983);
19887 match(LP_);
19888 setState(2984);
19889 tableOption();
19890 setState(2989);
19891 _errHandler.sync(this);
19892 _la = _input.LA(1);
19893 while (_la==COMMA_) {
19894 {
19895 {
19896 setState(2985);
19897 match(COMMA_);
19898 setState(2986);
19899 tableOption();
19900 }
19901 }
19902 setState(2991);
19903 _errHandler.sync(this);
19904 _la = _input.LA(1);
19905 }
19906 setState(2992);
19907 match(RP_);
19908 }
19909 }
19910 catch (RecognitionException re) {
19911 _localctx.exception = re;
19912 _errHandler.reportError(this, re);
19913 _errHandler.recover(this, re);
19914 }
19915 finally {
19916 exitRule();
19917 }
19918 return _localctx;
19919 }
19920
19921 public static class TableOptionContext extends ParserRuleContext {
19922 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
19923 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19924 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
19925 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
19926 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
19927 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19928 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
19929 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19930 public PartitionExpressionsContext partitionExpressions() {
19931 return getRuleContext(PartitionExpressionsContext.class,0);
19932 }
19933 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19934 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
19935 public IgnoredIdentifierContext ignoredIdentifier() {
19936 return getRuleContext(IgnoredIdentifierContext.class,0);
19937 }
19938 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
19939 public CollationNameContext collationName() {
19940 return getRuleContext(CollationNameContext.class,0);
19941 }
19942 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
19943 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
19944 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
19945 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
19946 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
19947 public OnHistoryTableClauseContext onHistoryTableClause() {
19948 return getRuleContext(OnHistoryTableClauseContext.class,0);
19949 }
19950 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
19951 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
19952 public MigrationState_Context migrationState_() {
19953 return getRuleContext(MigrationState_Context.class,0);
19954 }
19955 public TableStretchOptionsContext tableStretchOptions() {
19956 return getRuleContext(TableStretchOptionsContext.class,0);
19957 }
19958 public TableOperationOptionContext tableOperationOption() {
19959 return getRuleContext(TableOperationOptionContext.class,0);
19960 }
19961 public DistributionOptionContext distributionOption() {
19962 return getRuleContext(DistributionOptionContext.class,0);
19963 }
19964 public DataWareHouseTableOptionContext dataWareHouseTableOption() {
19965 return getRuleContext(DataWareHouseTableOptionContext.class,0);
19966 }
19967 public DataDelectionOptionContext dataDelectionOption() {
19968 return getRuleContext(DataDelectionOptionContext.class,0);
19969 }
19970 public DataWareHousePartitionOptionContext dataWareHousePartitionOption() {
19971 return getRuleContext(DataWareHousePartitionOptionContext.class,0);
19972 }
19973 public TableOptionContext(ParserRuleContext parent, int invokingState) {
19974 super(parent, invokingState);
19975 }
19976 @Override public int getRuleIndex() { return RULE_tableOption; }
19977 @Override
19978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOption(this);
19980 else return visitor.visitChildren(this);
19981 }
19982 }
19983
19984 public final TableOptionContext tableOption() throws RecognitionException {
19985 TableOptionContext _localctx = new TableOptionContext(_ctx, getState());
19986 enterRule(_localctx, 428, RULE_tableOption);
19987 int _la;
19988 try {
19989 setState(3044);
19990 _errHandler.sync(this);
19991 switch ( getInterpreter().adaptivePredict(_input,264,_ctx) ) {
19992 case 1:
19993 enterOuterAlt(_localctx, 1);
19994 {
19995 setState(2994);
19996 match(DATA_COMPRESSION);
19997 setState(2995);
19998 match(EQ_);
19999 setState(2996);
20000 _la = _input.LA(1);
20001 if ( !(((((_la - 249)) & ~0x3f) == 0 && ((1L << (_la - 249)) & ((1L << (ROW - 249)) | (1L << (NONE - 249)) | (1L << (PAGE - 249)))) != 0)) ) {
20002 _errHandler.recoverInline(this);
20003 }
20004 else {
20005 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20006 _errHandler.reportMatch(this);
20007 consume();
20008 }
20009 setState(3003);
20010 _errHandler.sync(this);
20011 _la = _input.LA(1);
20012 if (_la==ON) {
20013 {
20014 setState(2997);
20015 match(ON);
20016 setState(2998);
20017 match(PARTITIONS);
20018 setState(2999);
20019 match(LP_);
20020 setState(3000);
20021 partitionExpressions();
20022 setState(3001);
20023 match(RP_);
20024 }
20025 }
20026
20027 }
20028 break;
20029 case 2:
20030 enterOuterAlt(_localctx, 2);
20031 {
20032 setState(3005);
20033 match(FILETABLE_DIRECTORY);
20034 setState(3006);
20035 match(EQ_);
20036 setState(3007);
20037 ignoredIdentifier();
20038 }
20039 break;
20040 case 3:
20041 enterOuterAlt(_localctx, 3);
20042 {
20043 setState(3008);
20044 match(FILETABLE_COLLATE_FILENAME);
20045 setState(3009);
20046 match(EQ_);
20047 setState(3012);
20048 _errHandler.sync(this);
20049 switch (_input.LA(1)) {
20050 case IDENTIFIER_:
20051 case STRING_:
20052 {
20053 setState(3010);
20054 collationName();
20055 }
20056 break;
20057 case DATABASE_DEAULT:
20058 {
20059 setState(3011);
20060 match(DATABASE_DEAULT);
20061 }
20062 break;
20063 default:
20064 throw new NoViableAltException(this);
20065 }
20066 }
20067 break;
20068 case 4:
20069 enterOuterAlt(_localctx, 4);
20070 {
20071 setState(3014);
20072 match(FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME);
20073 setState(3015);
20074 match(EQ_);
20075 setState(3016);
20076 ignoredIdentifier();
20077 }
20078 break;
20079 case 5:
20080 enterOuterAlt(_localctx, 5);
20081 {
20082 setState(3017);
20083 match(FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME);
20084 setState(3018);
20085 match(EQ_);
20086 setState(3019);
20087 ignoredIdentifier();
20088 }
20089 break;
20090 case 6:
20091 enterOuterAlt(_localctx, 6);
20092 {
20093 setState(3020);
20094 match(FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME);
20095 setState(3021);
20096 match(EQ_);
20097 setState(3022);
20098 ignoredIdentifier();
20099 }
20100 break;
20101 case 7:
20102 enterOuterAlt(_localctx, 7);
20103 {
20104 setState(3023);
20105 match(SYSTEM_VERSIONING);
20106 setState(3024);
20107 match(EQ_);
20108 setState(3025);
20109 match(ON);
20110 setState(3027);
20111 _errHandler.sync(this);
20112 _la = _input.LA(1);
20113 if (_la==LP_) {
20114 {
20115 setState(3026);
20116 onHistoryTableClause();
20117 }
20118 }
20119
20120 }
20121 break;
20122 case 8:
20123 enterOuterAlt(_localctx, 8);
20124 {
20125 setState(3029);
20126 match(REMOTE_DATA_ARCHIVE);
20127 setState(3030);
20128 match(EQ_);
20129 setState(3037);
20130 _errHandler.sync(this);
20131 switch (_input.LA(1)) {
20132 case ON:
20133 {
20134 setState(3031);
20135 match(ON);
20136 setState(3033);
20137 _errHandler.sync(this);
20138 _la = _input.LA(1);
20139 if (_la==LP_) {
20140 {
20141 setState(3032);
20142 tableStretchOptions();
20143 }
20144 }
20145
20146 }
20147 break;
20148 case OFF:
20149 {
20150 setState(3035);
20151 match(OFF);
20152 setState(3036);
20153 migrationState_();
20154 }
20155 break;
20156 default:
20157 throw new NoViableAltException(this);
20158 }
20159 }
20160 break;
20161 case 9:
20162 enterOuterAlt(_localctx, 9);
20163 {
20164 setState(3039);
20165 tableOperationOption();
20166 }
20167 break;
20168 case 10:
20169 enterOuterAlt(_localctx, 10);
20170 {
20171 setState(3040);
20172 distributionOption();
20173 }
20174 break;
20175 case 11:
20176 enterOuterAlt(_localctx, 11);
20177 {
20178 setState(3041);
20179 dataWareHouseTableOption();
20180 }
20181 break;
20182 case 12:
20183 enterOuterAlt(_localctx, 12);
20184 {
20185 setState(3042);
20186 dataDelectionOption();
20187 }
20188 break;
20189 case 13:
20190 enterOuterAlt(_localctx, 13);
20191 {
20192 setState(3043);
20193 dataWareHousePartitionOption();
20194 }
20195 break;
20196 }
20197 }
20198 catch (RecognitionException re) {
20199 _localctx.exception = re;
20200 _errHandler.reportError(this, re);
20201 _errHandler.recover(this, re);
20202 }
20203 finally {
20204 exitRule();
20205 }
20206 return _localctx;
20207 }
20208
20209 public static class DataDelectionOptionContext extends ParserRuleContext {
20210 public TerminalNode DATA_DELETION() { return getToken(SQLServerStatementParser.DATA_DELETION, 0); }
20211 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
20212 public TerminalNode EQ_(int i) {
20213 return getToken(SQLServerStatementParser.EQ_, i);
20214 }
20215 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
20216 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20217 public TerminalNode FILTER_COLUMN() { return getToken(SQLServerStatementParser.FILTER_COLUMN, 0); }
20218 public ColumnNameContext columnName() {
20219 return getRuleContext(ColumnNameContext.class,0);
20220 }
20221 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20222 public TerminalNode RETENTION_PERIOD() { return getToken(SQLServerStatementParser.RETENTION_PERIOD, 0); }
20223 public HistoryRetentionPeriodContext historyRetentionPeriod() {
20224 return getRuleContext(HistoryRetentionPeriodContext.class,0);
20225 }
20226 public DataDelectionOptionContext(ParserRuleContext parent, int invokingState) {
20227 super(parent, invokingState);
20228 }
20229 @Override public int getRuleIndex() { return RULE_dataDelectionOption; }
20230 @Override
20231 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20232 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataDelectionOption(this);
20233 else return visitor.visitChildren(this);
20234 }
20235 }
20236
20237 public final DataDelectionOptionContext dataDelectionOption() throws RecognitionException {
20238 DataDelectionOptionContext _localctx = new DataDelectionOptionContext(_ctx, getState());
20239 enterRule(_localctx, 430, RULE_dataDelectionOption);
20240 try {
20241 enterOuterAlt(_localctx, 1);
20242 {
20243 setState(3046);
20244 match(DATA_DELETION);
20245 setState(3047);
20246 match(EQ_);
20247 setState(3048);
20248 match(ON);
20249 {
20250 setState(3049);
20251 match(LP_);
20252 setState(3050);
20253 match(FILTER_COLUMN);
20254 setState(3051);
20255 match(EQ_);
20256 setState(3052);
20257 columnName();
20258 setState(3053);
20259 match(COMMA_);
20260 setState(3054);
20261 match(RETENTION_PERIOD);
20262 setState(3055);
20263 match(EQ_);
20264 setState(3056);
20265 historyRetentionPeriod();
20266 }
20267 }
20268 }
20269 catch (RecognitionException re) {
20270 _localctx.exception = re;
20271 _errHandler.reportError(this, re);
20272 _errHandler.recover(this, re);
20273 }
20274 finally {
20275 exitRule();
20276 }
20277 return _localctx;
20278 }
20279
20280 public static class TableStretchOptionsContext extends ParserRuleContext {
20281 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20282 public List<TableStretchOptionContext> tableStretchOption() {
20283 return getRuleContexts(TableStretchOptionContext.class);
20284 }
20285 public TableStretchOptionContext tableStretchOption(int i) {
20286 return getRuleContext(TableStretchOptionContext.class,i);
20287 }
20288 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20289 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20290 public TerminalNode COMMA_(int i) {
20291 return getToken(SQLServerStatementParser.COMMA_, i);
20292 }
20293 public TableStretchOptionsContext(ParserRuleContext parent, int invokingState) {
20294 super(parent, invokingState);
20295 }
20296 @Override public int getRuleIndex() { return RULE_tableStretchOptions; }
20297 @Override
20298 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20299 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOptions(this);
20300 else return visitor.visitChildren(this);
20301 }
20302 }
20303
20304 public final TableStretchOptionsContext tableStretchOptions() throws RecognitionException {
20305 TableStretchOptionsContext _localctx = new TableStretchOptionsContext(_ctx, getState());
20306 enterRule(_localctx, 432, RULE_tableStretchOptions);
20307 int _la;
20308 try {
20309 enterOuterAlt(_localctx, 1);
20310 {
20311 setState(3058);
20312 match(LP_);
20313 setState(3059);
20314 tableStretchOption();
20315 setState(3064);
20316 _errHandler.sync(this);
20317 _la = _input.LA(1);
20318 while (_la==COMMA_) {
20319 {
20320 {
20321 setState(3060);
20322 match(COMMA_);
20323 setState(3061);
20324 tableStretchOption();
20325 }
20326 }
20327 setState(3066);
20328 _errHandler.sync(this);
20329 _la = _input.LA(1);
20330 }
20331 setState(3067);
20332 match(RP_);
20333 }
20334 }
20335 catch (RecognitionException re) {
20336 _localctx.exception = re;
20337 _errHandler.reportError(this, re);
20338 _errHandler.recover(this, re);
20339 }
20340 finally {
20341 exitRule();
20342 }
20343 return _localctx;
20344 }
20345
20346 public static class TableStretchOptionContext extends ParserRuleContext {
20347 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
20348 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
20349 public TerminalNode EQ_(int i) {
20350 return getToken(SQLServerStatementParser.EQ_, i);
20351 }
20352 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
20353 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
20354 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
20355 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
20356 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20357 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
20358 public FunctionCallContext functionCall() {
20359 return getRuleContext(FunctionCallContext.class,0);
20360 }
20361 public TableStretchOptionContext(ParserRuleContext parent, int invokingState) {
20362 super(parent, invokingState);
20363 }
20364 @Override public int getRuleIndex() { return RULE_tableStretchOption; }
20365 @Override
20366 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20367 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOption(this);
20368 else return visitor.visitChildren(this);
20369 }
20370 }
20371
20372 public final TableStretchOptionContext tableStretchOption() throws RecognitionException {
20373 TableStretchOptionContext _localctx = new TableStretchOptionContext(_ctx, getState());
20374 enterRule(_localctx, 434, RULE_tableStretchOption);
20375 int _la;
20376 try {
20377 enterOuterAlt(_localctx, 1);
20378 {
20379 setState(3076);
20380 _errHandler.sync(this);
20381 _la = _input.LA(1);
20382 if (_la==FILTER_PREDICATE) {
20383 {
20384 setState(3069);
20385 match(FILTER_PREDICATE);
20386 setState(3070);
20387 match(EQ_);
20388 setState(3073);
20389 _errHandler.sync(this);
20390 switch (_input.LA(1)) {
20391 case NULL:
20392 {
20393 setState(3071);
20394 match(NULL);
20395 }
20396 break;
20397 case TRUNCATE:
20398 case SCHEMA:
20399 case COLUMNS:
20400 case PRECISION:
20401 case FUNCTION:
20402 case TRIGGER:
20403 case CAST:
20404 case TRIM:
20405 case SUBSTRING:
20406 case RIGHT:
20407 case OFF:
20408 case IF:
20409 case GROUP:
20410 case LIMIT:
20411 case OFFSET:
20412 case SAVEPOINT:
20413 case BOOLEAN:
20414 case CHAR:
20415 case ARRAY:
20416 case INTERVAL:
20417 case DATE:
20418 case TIMESTAMP:
20419 case LOCALTIME:
20420 case LOCALTIMESTAMP:
20421 case YEAR:
20422 case QUARTER:
20423 case MONTH:
20424 case WEEK:
20425 case DAY:
20426 case SECOND:
20427 case MICROSECOND:
20428 case MAX:
20429 case MIN:
20430 case SUM:
20431 case COUNT:
20432 case AVG:
20433 case ENABLE:
20434 case DISABLE:
20435 case INSTANCE:
20436 case DO:
20437 case DEFINER:
20438 case SQL:
20439 case CASCADED:
20440 case LOCAL:
20441 case NEXT:
20442 case NAME:
20443 case INTEGER:
20444 case TYPE:
20445 case TEXT:
20446 case VIEWS:
20447 case READ_ONLY:
20448 case DATABASE:
20449 case RETURNS:
20450 case DATEPART:
20451 case PASSWORD:
20452 case JSON_OBJECT:
20453 case JSON_ARRAY:
20454 case FIRST_VALUE:
20455 case LAST_VALUE:
20456 case APPROX_PERCENTILE_CONT:
20457 case APPROX_PERCENTILE_DISC:
20458 case OPENDATASOURCE:
20459 case BINARY:
20460 case HIDDEN_:
20461 case MOD:
20462 case PARTITION:
20463 case PARTITIONS:
20464 case TOP:
20465 case ROW:
20466 case ROWS:
20467 case XOR:
20468 case ALWAYS:
20469 case USER:
20470 case ROLE:
20471 case START:
20472 case ALGORITHM:
20473 case AUTO:
20474 case BLOCKERS:
20475 case CLUSTERED:
20476 case NONCLUSTERED:
20477 case COLUMNSTORE:
20478 case CONTENT:
20479 case CONVERT:
20480 case YEARS:
20481 case MONTHS:
20482 case WEEKS:
20483 case DAYS:
20484 case MINUTES:
20485 case DENY:
20486 case DETERMINISTIC:
20487 case DISTRIBUTION:
20488 case DOCUMENT:
20489 case DURABILITY:
20490 case ENCRYPTED:
20491 case FILESTREAM:
20492 case FILETABLE:
20493 case FILLFACTOR:
20494 case FOLLOWING:
20495 case HASH:
20496 case HEAP:
20497 case INBOUND:
20498 case OUTBOUND:
20499 case UNBOUNDED:
20500 case INFINITE:
20501 case LOGIN:
20502 case MASKED:
20503 case MAXDOP:
20504 case MOVE:
20505 case NOCHECK:
20506 case OBJECT:
20507 case ONLINE:
20508 case OVER:
20509 case PAGE:
20510 case PAUSED:
20511 case PERIOD:
20512 case PERSISTED:
20513 case PRECEDING:
20514 case RANDOMIZED:
20515 case RANGE:
20516 case REBUILD:
20517 case REPLICATE:
20518 case REPLICATION:
20519 case RESUMABLE:
20520 case ROWGUIDCOL:
20521 case SAVE:
20522 case SELF:
20523 case SPARSE:
20524 case SWITCH:
20525 case TRAN:
20526 case TRANCOUNT:
20527 case CONTROL:
20528 case CONCAT:
20529 case TAKE:
20530 case OWNERSHIP:
20531 case DEFINITION:
20532 case APPLICATION:
20533 case ASSEMBLY:
20534 case SYMMETRIC:
20535 case ASYMMETRIC:
20536 case SERVER:
20537 case RECEIVE:
20538 case CHANGE:
20539 case TRACE:
20540 case TRACKING:
20541 case RESOURCES:
20542 case SETTINGS:
20543 case STATE:
20544 case AVAILABILITY:
20545 case CREDENTIAL:
20546 case ENDPOINT:
20547 case EVENT:
20548 case NOTIFICATION:
20549 case LINKED:
20550 case AUDIT:
20551 case DDL:
20552 case XML:
20553 case IMPERSONATE:
20554 case SECURABLES:
20555 case AUTHENTICATE:
20556 case EXTERNAL:
20557 case ACCESS:
20558 case ADMINISTER:
20559 case BULK:
20560 case OPERATIONS:
20561 case UNSAFE:
20562 case SHUTDOWN:
20563 case SCOPED:
20564 case CONFIGURATION:
20565 case DATASPACE:
20566 case SERVICE:
20567 case CERTIFICATE:
20568 case CONTRACT:
20569 case ENCRYPTION:
20570 case MASTER:
20571 case DATA:
20572 case SOURCE:
20573 case FILE:
20574 case FORMAT:
20575 case LIBRARY:
20576 case FULLTEXT:
20577 case MASK:
20578 case UNMASK:
20579 case MESSAGE:
20580 case REMOTE:
20581 case BINDING:
20582 case ROUTE:
20583 case SECURITY:
20584 case POLICY:
20585 case AGGREGATE:
20586 case QUEUE:
20587 case RULE:
20588 case SYNONYM:
20589 case COLLECTION:
20590 case SCRIPT:
20591 case KILL:
20592 case BACKUP:
20593 case LOG:
20594 case SHOWPLAN:
20595 case SUBSCRIBE:
20596 case QUERY:
20597 case NOTIFICATIONS:
20598 case CHECKPOINT:
20599 case SEQUENCE:
20600 case ABORT_AFTER_WAIT:
20601 case ALLOW_PAGE_LOCKS:
20602 case ALLOW_ROW_LOCKS:
20603 case ALL_SPARSE_COLUMNS:
20604 case BUCKET_COUNT:
20605 case COLUMNSTORE_ARCHIVE:
20606 case COLUMN_ENCRYPTION_KEY:
20607 case COLUMN_SET:
20608 case COMPRESSION_DELAY:
20609 case DATABASE_DEAULT:
20610 case DATA_COMPRESSION:
20611 case DATA_CONSISTENCY_CHECK:
20612 case ENCRYPTION_TYPE:
20613 case SYSTEM_TIME:
20614 case SYSTEM_VERSIONING:
20615 case TEXTIMAGE_ON:
20616 case WAIT_AT_LOW_PRIORITY:
20617 case STATISTICS_INCREMENTAL:
20618 case STATISTICS_NORECOMPUTE:
20619 case ROUND_ROBIN:
20620 case SCHEMA_AND_DATA:
20621 case SCHEMA_ONLY:
20622 case SORT_IN_TEMPDB:
20623 case IGNORE_DUP_KEY:
20624 case IMPLICIT_TRANSACTIONS:
20625 case MAX_DURATION:
20626 case MEMORY_OPTIMIZED:
20627 case MIGRATION_STATE:
20628 case PAD_INDEX:
20629 case REMOTE_DATA_ARCHIVE:
20630 case FILESTREAM_ON:
20631 case FILETABLE_COLLATE_FILENAME:
20632 case FILETABLE_DIRECTORY:
20633 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
20634 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
20635 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
20636 case FILTER_PREDICATE:
20637 case HISTORY_RETENTION_PERIOD:
20638 case HISTORY_TABLE:
20639 case LOCK_ESCALATION:
20640 case DROP_EXISTING:
20641 case ROW_NUMBER:
20642 case FIRST:
20643 case DATETIME2:
20644 case OUTPUT:
20645 case INSERTED:
20646 case DELETED:
20647 case FILENAME:
20648 case SIZE:
20649 case MAXSIZE:
20650 case FILEGROWTH:
20651 case UNLIMITED:
20652 case KB:
20653 case MB:
20654 case GB:
20655 case TB:
20656 case CONTAINS:
20657 case MEMORY_OPTIMIZED_DATA:
20658 case FILEGROUP:
20659 case NON_TRANSACTED_ACCESS:
20660 case DB_CHAINING:
20661 case TRUSTWORTHY:
20662 case FORWARD_ONLY:
20663 case KEYSET:
20664 case FAST_FORWARD:
20665 case SCROLL_LOCKS:
20666 case OPTIMISTIC:
20667 case TYPE_WARNING:
20668 case SCHEMABINDING:
20669 case CALLER:
20670 case INPUT:
20671 case OWNER:
20672 case SNAPSHOT:
20673 case REPEATABLE:
20674 case SERIALIZABLE:
20675 case NATIVE_COMPILATION:
20676 case VIEW_METADATA:
20677 case INSTEAD:
20678 case APPEND:
20679 case INCREMENT:
20680 case CACHE:
20681 case MINVALUE:
20682 case MAXVALUE:
20683 case RESTART:
20684 case LOB_COMPACTION:
20685 case COMPRESS_ALL_ROW_GROUPS:
20686 case REORGANIZE:
20687 case RESUME:
20688 case PAUSE:
20689 case ABORT:
20690 case ACCELERATED_DATABASE_RECOVERY:
20691 case PERSISTENT_VERSION_STORE_FILEGROUP:
20692 case IMMEDIATE:
20693 case NO_WAIT:
20694 case TARGET_RECOVERY_TIME:
20695 case SECONDS:
20696 case HONOR_BROKER_PRIORITY:
20697 case ERROR_BROKER_CONVERSATIONS:
20698 case NEW_BROKER:
20699 case DISABLE_BROKER:
20700 case ENABLE_BROKER:
20701 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
20702 case READ_COMMITTED_SNAPSHOT:
20703 case ALLOW_SNAPSHOT_ISOLATION:
20704 case RECURSIVE_TRIGGERS:
20705 case QUOTED_IDENTIFIER:
20706 case NUMERIC_ROUNDABORT:
20707 case CONCAT_NULL_YIELDS_NULL:
20708 case COMPATIBILITY_LEVEL:
20709 case ARITHABORT:
20710 case ANSI_WARNINGS:
20711 case ANSI_PADDING:
20712 case ANSI_NULLS:
20713 case ANSI_NULL_DEFAULT:
20714 case PAGE_VERIFY:
20715 case CHECKSUM:
20716 case TORN_PAGE_DETECTION:
20717 case BULK_LOGGED:
20718 case RECOVERY:
20719 case TOTAL_EXECUTION_CPU_TIME_MS:
20720 case TOTAL_COMPILE_CPU_TIME_MS:
20721 case STALE_CAPTURE_POLICY_THRESHOLD:
20722 case EXECUTION_COUNT:
20723 case QUERY_CAPTURE_POLICY:
20724 case WAIT_STATS_CAPTURE_MODE:
20725 case MAX_PLANS_PER_QUERY:
20726 case QUERY_CAPTURE_MODE:
20727 case SIZE_BASED_CLEANUP_MODE:
20728 case INTERVAL_LENGTH_MINUTES:
20729 case MAX_STORAGE_SIZE_MB:
20730 case DATA_FLUSH_INTERVAL_SECONDS:
20731 case CLEANUP_POLICY:
20732 case CUSTOM:
20733 case STALE_QUERY_THRESHOLD_DAYS:
20734 case OPERATION_MODE:
20735 case QUERY_STORE:
20736 case CURSOR_DEFAULT:
20737 case GLOBAL:
20738 case CURSOR_CLOSE_ON_COMMIT:
20739 case HOURS:
20740 case CHANGE_RETENTION:
20741 case AUTO_CLEANUP:
20742 case CHANGE_TRACKING:
20743 case AUTOMATIC_TUNING:
20744 case FORCE_LAST_GOOD_PLAN:
20745 case AUTO_UPDATE_STATISTICS_ASYNC:
20746 case AUTO_UPDATE_STATISTICS:
20747 case AUTO_SHRINK:
20748 case AUTO_CREATE_STATISTICS:
20749 case INCREMENTAL:
20750 case AUTO_CLOSE:
20751 case DATA_RETENTION:
20752 case TEMPORAL_HISTORY_RETENTION:
20753 case EDITION:
20754 case MIXED_PAGE_ALLOCATION:
20755 case DISABLED:
20756 case ALLOWED:
20757 case HADR:
20758 case MULTI_USER:
20759 case RESTRICTED_USER:
20760 case SINGLE_USER:
20761 case OFFLINE:
20762 case EMERGENCY:
20763 case SUSPEND:
20764 case DATE_CORRELATION_OPTIMIZATION:
20765 case ELASTIC_POOL:
20766 case SERVICE_OBJECTIVE:
20767 case DATABASE_NAME:
20768 case ALLOW_CONNECTIONS:
20769 case GEO:
20770 case NAMED:
20771 case DATEFIRST:
20772 case BACKUP_STORAGE_REDUNDANCY:
20773 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
20774 case SECONDARY:
20775 case FAILOVER:
20776 case DEFAULT_FULLTEXT_LANGUAGE:
20777 case DEFAULT_LANGUAGE:
20778 case INLINE:
20779 case NESTED_TRIGGERS:
20780 case TRANSFORM_NOISE_WORDS:
20781 case TWO_DIGIT_YEAR_CUTOFF:
20782 case PERSISTENT_LOG_BUFFER:
20783 case DIRECTORY_NAME:
20784 case DATEFORMAT:
20785 case DELAYED_DURABILITY:
20786 case AUTHORIZATION:
20787 case TRANSFER:
20788 case PROVIDER:
20789 case SID:
20790 case SEARCH:
20791 case MEMBER:
20792 case JSON:
20793 case OPENJSON:
20794 case OPENROWSET:
20795 case TRY_CAST:
20796 case TRY_CONVERT:
20797 case IDENTIFIER_:
20798 case DELIMITED_IDENTIFIER_:
20799 {
20800 setState(3072);
20801 functionCall();
20802 }
20803 break;
20804 default:
20805 throw new NoViableAltException(this);
20806 }
20807 setState(3075);
20808 match(COMMA_);
20809 }
20810 }
20811
20812 setState(3078);
20813 match(MIGRATION_STATE);
20814 setState(3079);
20815 match(EQ_);
20816 setState(3080);
20817 _la = _input.LA(1);
20818 if ( !(((((_la - 294)) & ~0x3f) == 0 && ((1L << (_la - 294)) & ((1L << (INBOUND - 294)) | (1L << (OUTBOUND - 294)) | (1L << (PAUSED - 294)))) != 0)) ) {
20819 _errHandler.recoverInline(this);
20820 }
20821 else {
20822 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20823 _errHandler.reportMatch(this);
20824 consume();
20825 }
20826 }
20827 }
20828 catch (RecognitionException re) {
20829 _localctx.exception = re;
20830 _errHandler.reportError(this, re);
20831 _errHandler.recover(this, re);
20832 }
20833 finally {
20834 exitRule();
20835 }
20836 return _localctx;
20837 }
20838
20839 public static class MigrationState_Context extends ParserRuleContext {
20840 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20841 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
20842 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20843 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
20844 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20845 public MigrationState_Context(ParserRuleContext parent, int invokingState) {
20846 super(parent, invokingState);
20847 }
20848 @Override public int getRuleIndex() { return RULE_migrationState_; }
20849 @Override
20850 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20851 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMigrationState_(this);
20852 else return visitor.visitChildren(this);
20853 }
20854 }
20855
20856 public final MigrationState_Context migrationState_() throws RecognitionException {
20857 MigrationState_Context _localctx = new MigrationState_Context(_ctx, getState());
20858 enterRule(_localctx, 436, RULE_migrationState_);
20859 try {
20860 enterOuterAlt(_localctx, 1);
20861 {
20862 setState(3082);
20863 match(LP_);
20864 setState(3083);
20865 match(MIGRATION_STATE);
20866 setState(3084);
20867 match(EQ_);
20868 setState(3085);
20869 match(PAUSED);
20870 setState(3086);
20871 match(RP_);
20872 }
20873 }
20874 catch (RecognitionException re) {
20875 _localctx.exception = re;
20876 _errHandler.reportError(this, re);
20877 _errHandler.recover(this, re);
20878 }
20879 finally {
20880 exitRule();
20881 }
20882 return _localctx;
20883 }
20884
20885 public static class TableOperationOptionContext extends ParserRuleContext {
20886 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
20887 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20888 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
20889 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
20890 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
20891 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
20892 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
20893 public OnHistoryTableClauseContext onHistoryTableClause() {
20894 return getRuleContext(OnHistoryTableClauseContext.class,0);
20895 }
20896 public TableOperationOptionContext(ParserRuleContext parent, int invokingState) {
20897 super(parent, invokingState);
20898 }
20899 @Override public int getRuleIndex() { return RULE_tableOperationOption; }
20900 @Override
20901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOperationOption(this);
20903 else return visitor.visitChildren(this);
20904 }
20905 }
20906
20907 public final TableOperationOptionContext tableOperationOption() throws RecognitionException {
20908 TableOperationOptionContext _localctx = new TableOperationOptionContext(_ctx, getState());
20909 enterRule(_localctx, 438, RULE_tableOperationOption);
20910 int _la;
20911 try {
20912 setState(3100);
20913 _errHandler.sync(this);
20914 switch (_input.LA(1)) {
20915 case MEMORY_OPTIMIZED:
20916 enterOuterAlt(_localctx, 1);
20917 {
20918 {
20919 setState(3088);
20920 match(MEMORY_OPTIMIZED);
20921 setState(3089);
20922 match(EQ_);
20923 setState(3090);
20924 match(ON);
20925 }
20926 }
20927 break;
20928 case DURABILITY:
20929 enterOuterAlt(_localctx, 2);
20930 {
20931 {
20932 setState(3091);
20933 match(DURABILITY);
20934 setState(3092);
20935 match(EQ_);
20936 setState(3093);
20937 _la = _input.LA(1);
20938 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
20939 _errHandler.recoverInline(this);
20940 }
20941 else {
20942 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20943 _errHandler.reportMatch(this);
20944 consume();
20945 }
20946 }
20947 }
20948 break;
20949 case SYSTEM_VERSIONING:
20950 enterOuterAlt(_localctx, 3);
20951 {
20952 {
20953 setState(3094);
20954 match(SYSTEM_VERSIONING);
20955 setState(3095);
20956 match(EQ_);
20957 setState(3096);
20958 match(ON);
20959 setState(3098);
20960 _errHandler.sync(this);
20961 _la = _input.LA(1);
20962 if (_la==LP_) {
20963 {
20964 setState(3097);
20965 onHistoryTableClause();
20966 }
20967 }
20968
20969 }
20970 }
20971 break;
20972 default:
20973 throw new NoViableAltException(this);
20974 }
20975 }
20976 catch (RecognitionException re) {
20977 _localctx.exception = re;
20978 _errHandler.reportError(this, re);
20979 _errHandler.recover(this, re);
20980 }
20981 finally {
20982 exitRule();
20983 }
20984 return _localctx;
20985 }
20986
20987 public static class DistributionOptionContext extends ParserRuleContext {
20988 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
20989 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20990 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
20991 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20992 public ColumnNameContext columnName() {
20993 return getRuleContext(ColumnNameContext.class,0);
20994 }
20995 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20996 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
20997 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
20998 public DistributionOptionContext(ParserRuleContext parent, int invokingState) {
20999 super(parent, invokingState);
21000 }
21001 @Override public int getRuleIndex() { return RULE_distributionOption; }
21002 @Override
21003 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21004 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistributionOption(this);
21005 else return visitor.visitChildren(this);
21006 }
21007 }
21008
21009 public final DistributionOptionContext distributionOption() throws RecognitionException {
21010 DistributionOptionContext _localctx = new DistributionOptionContext(_ctx, getState());
21011 enterRule(_localctx, 440, RULE_distributionOption);
21012 try {
21013 enterOuterAlt(_localctx, 1);
21014 {
21015 setState(3102);
21016 match(DISTRIBUTION);
21017 setState(3103);
21018 match(EQ_);
21019 setState(3111);
21020 _errHandler.sync(this);
21021 switch (_input.LA(1)) {
21022 case HASH:
21023 {
21024 setState(3104);
21025 match(HASH);
21026 setState(3105);
21027 match(LP_);
21028 setState(3106);
21029 columnName();
21030 setState(3107);
21031 match(RP_);
21032 }
21033 break;
21034 case ROUND_ROBIN:
21035 {
21036 setState(3109);
21037 match(ROUND_ROBIN);
21038 }
21039 break;
21040 case REPLICATE:
21041 {
21042 setState(3110);
21043 match(REPLICATE);
21044 }
21045 break;
21046 default:
21047 throw new NoViableAltException(this);
21048 }
21049 }
21050 }
21051 catch (RecognitionException re) {
21052 _localctx.exception = re;
21053 _errHandler.reportError(this, re);
21054 _errHandler.recover(this, re);
21055 }
21056 finally {
21057 exitRule();
21058 }
21059 return _localctx;
21060 }
21061
21062 public static class DataWareHouseTableOptionContext extends ParserRuleContext {
21063 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
21064 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
21065 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
21066 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
21067 public ColumnNamesContext columnNames() {
21068 return getRuleContext(ColumnNamesContext.class,0);
21069 }
21070 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
21071 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21072 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21073 public List<ColumnNameContext> columnName() {
21074 return getRuleContexts(ColumnNameContext.class);
21075 }
21076 public ColumnNameContext columnName(int i) {
21077 return getRuleContext(ColumnNameContext.class,i);
21078 }
21079 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21080 public TerminalNode COMMA_(int i) {
21081 return getToken(SQLServerStatementParser.COMMA_, i);
21082 }
21083 public List<TerminalNode> ASC() { return getTokens(SQLServerStatementParser.ASC); }
21084 public TerminalNode ASC(int i) {
21085 return getToken(SQLServerStatementParser.ASC, i);
21086 }
21087 public List<TerminalNode> DESC() { return getTokens(SQLServerStatementParser.DESC); }
21088 public TerminalNode DESC(int i) {
21089 return getToken(SQLServerStatementParser.DESC, i);
21090 }
21091 public DataWareHouseTableOptionContext(ParserRuleContext parent, int invokingState) {
21092 super(parent, invokingState);
21093 }
21094 @Override public int getRuleIndex() { return RULE_dataWareHouseTableOption; }
21095 @Override
21096 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21097 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHouseTableOption(this);
21098 else return visitor.visitChildren(this);
21099 }
21100 }
21101
21102 public final DataWareHouseTableOptionContext dataWareHouseTableOption() throws RecognitionException {
21103 DataWareHouseTableOptionContext _localctx = new DataWareHouseTableOptionContext(_ctx, getState());
21104 enterRule(_localctx, 442, RULE_dataWareHouseTableOption);
21105 int _la;
21106 try {
21107 setState(3141);
21108 _errHandler.sync(this);
21109 switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) {
21110 case 1:
21111 enterOuterAlt(_localctx, 1);
21112 {
21113 setState(3113);
21114 match(CLUSTERED);
21115 setState(3114);
21116 match(COLUMNSTORE);
21117 setState(3115);
21118 match(INDEX);
21119 }
21120 break;
21121 case 2:
21122 enterOuterAlt(_localctx, 2);
21123 {
21124 setState(3116);
21125 match(CLUSTERED);
21126 setState(3117);
21127 match(COLUMNSTORE);
21128 setState(3118);
21129 match(INDEX);
21130 setState(3119);
21131 match(ORDER);
21132 setState(3120);
21133 columnNames();
21134 }
21135 break;
21136 case 3:
21137 enterOuterAlt(_localctx, 3);
21138 {
21139 setState(3121);
21140 match(HEAP);
21141 }
21142 break;
21143 case 4:
21144 enterOuterAlt(_localctx, 4);
21145 {
21146 setState(3122);
21147 match(CLUSTERED);
21148 setState(3123);
21149 match(INDEX);
21150 setState(3124);
21151 match(LP_);
21152 {
21153 setState(3125);
21154 columnName();
21155 setState(3127);
21156 _errHandler.sync(this);
21157 _la = _input.LA(1);
21158 if (_la==ASC || _la==DESC) {
21159 {
21160 setState(3126);
21161 _la = _input.LA(1);
21162 if ( !(_la==ASC || _la==DESC) ) {
21163 _errHandler.recoverInline(this);
21164 }
21165 else {
21166 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21167 _errHandler.reportMatch(this);
21168 consume();
21169 }
21170 }
21171 }
21172
21173 }
21174 setState(3136);
21175 _errHandler.sync(this);
21176 _la = _input.LA(1);
21177 while (_la==COMMA_) {
21178 {
21179 {
21180 setState(3129);
21181 match(COMMA_);
21182 {
21183 setState(3130);
21184 columnName();
21185 setState(3132);
21186 _errHandler.sync(this);
21187 _la = _input.LA(1);
21188 if (_la==ASC || _la==DESC) {
21189 {
21190 setState(3131);
21191 _la = _input.LA(1);
21192 if ( !(_la==ASC || _la==DESC) ) {
21193 _errHandler.recoverInline(this);
21194 }
21195 else {
21196 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21197 _errHandler.reportMatch(this);
21198 consume();
21199 }
21200 }
21201 }
21202
21203 }
21204 }
21205 }
21206 setState(3138);
21207 _errHandler.sync(this);
21208 _la = _input.LA(1);
21209 }
21210 setState(3139);
21211 match(RP_);
21212 }
21213 break;
21214 }
21215 }
21216 catch (RecognitionException re) {
21217 _localctx.exception = re;
21218 _errHandler.reportError(this, re);
21219 _errHandler.recover(this, re);
21220 }
21221 finally {
21222 exitRule();
21223 }
21224 return _localctx;
21225 }
21226
21227 public static class DataWareHousePartitionOptionContext extends ParserRuleContext {
21228 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
21229 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
21230 public TerminalNode LP_(int i) {
21231 return getToken(SQLServerStatementParser.LP_, i);
21232 }
21233 public ColumnNameContext columnName() {
21234 return getRuleContext(ColumnNameContext.class,0);
21235 }
21236 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
21237 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21238 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
21239 public List<SimpleExprContext> simpleExpr() {
21240 return getRuleContexts(SimpleExprContext.class);
21241 }
21242 public SimpleExprContext simpleExpr(int i) {
21243 return getRuleContext(SimpleExprContext.class,i);
21244 }
21245 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
21246 public TerminalNode RP_(int i) {
21247 return getToken(SQLServerStatementParser.RP_, i);
21248 }
21249 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21250 public TerminalNode COMMA_(int i) {
21251 return getToken(SQLServerStatementParser.COMMA_, i);
21252 }
21253 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
21254 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
21255 public DataWareHousePartitionOptionContext(ParserRuleContext parent, int invokingState) {
21256 super(parent, invokingState);
21257 }
21258 @Override public int getRuleIndex() { return RULE_dataWareHousePartitionOption; }
21259 @Override
21260 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21261 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHousePartitionOption(this);
21262 else return visitor.visitChildren(this);
21263 }
21264 }
21265
21266 public final DataWareHousePartitionOptionContext dataWareHousePartitionOption() throws RecognitionException {
21267 DataWareHousePartitionOptionContext _localctx = new DataWareHousePartitionOptionContext(_ctx, getState());
21268 enterRule(_localctx, 444, RULE_dataWareHousePartitionOption);
21269 int _la;
21270 try {
21271 enterOuterAlt(_localctx, 1);
21272 {
21273 {
21274 setState(3143);
21275 match(PARTITION);
21276 setState(3144);
21277 match(LP_);
21278 setState(3145);
21279 columnName();
21280 setState(3146);
21281 match(RANGE);
21282 setState(3148);
21283 _errHandler.sync(this);
21284 _la = _input.LA(1);
21285 if (_la==LEFT || _la==RIGHT) {
21286 {
21287 setState(3147);
21288 _la = _input.LA(1);
21289 if ( !(_la==LEFT || _la==RIGHT) ) {
21290 _errHandler.recoverInline(this);
21291 }
21292 else {
21293 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21294 _errHandler.reportMatch(this);
21295 consume();
21296 }
21297 }
21298 }
21299
21300 setState(3150);
21301 match(FOR);
21302 setState(3151);
21303 match(VALUES);
21304 setState(3152);
21305 match(LP_);
21306 setState(3153);
21307 simpleExpr(0);
21308 setState(3158);
21309 _errHandler.sync(this);
21310 _la = _input.LA(1);
21311 while (_la==COMMA_) {
21312 {
21313 {
21314 setState(3154);
21315 match(COMMA_);
21316 setState(3155);
21317 simpleExpr(0);
21318 }
21319 }
21320 setState(3160);
21321 _errHandler.sync(this);
21322 _la = _input.LA(1);
21323 }
21324 setState(3161);
21325 match(RP_);
21326 setState(3162);
21327 match(RP_);
21328 }
21329 }
21330 }
21331 catch (RecognitionException re) {
21332 _localctx.exception = re;
21333 _errHandler.reportError(this, re);
21334 _errHandler.recover(this, re);
21335 }
21336 finally {
21337 exitRule();
21338 }
21339 return _localctx;
21340 }
21341
21342 public static class CreateIndexSpecificationContext extends ParserRuleContext {
21343 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
21344 public ClusterOptionContext clusterOption() {
21345 return getRuleContext(ClusterOptionContext.class,0);
21346 }
21347 public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
21348 super(parent, invokingState);
21349 }
21350 @Override public int getRuleIndex() { return RULE_createIndexSpecification; }
21351 @Override
21352 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21353 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexSpecification(this);
21354 else return visitor.visitChildren(this);
21355 }
21356 }
21357
21358 public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
21359 CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
21360 enterRule(_localctx, 446, RULE_createIndexSpecification);
21361 int _la;
21362 try {
21363 enterOuterAlt(_localctx, 1);
21364 {
21365 setState(3165);
21366 _errHandler.sync(this);
21367 _la = _input.LA(1);
21368 if (_la==UNIQUE) {
21369 {
21370 setState(3164);
21371 match(UNIQUE);
21372 }
21373 }
21374
21375 setState(3168);
21376 _errHandler.sync(this);
21377 _la = _input.LA(1);
21378 if (_la==CLUSTERED || _la==NONCLUSTERED) {
21379 {
21380 setState(3167);
21381 clusterOption();
21382 }
21383 }
21384
21385 }
21386 }
21387 catch (RecognitionException re) {
21388 _localctx.exception = re;
21389 _errHandler.reportError(this, re);
21390 _errHandler.recover(this, re);
21391 }
21392 finally {
21393 exitRule();
21394 }
21395 return _localctx;
21396 }
21397
21398 public static class AlterDefinitionClauseContext extends ParserRuleContext {
21399 public AddColumnSpecificationContext addColumnSpecification() {
21400 return getRuleContext(AddColumnSpecificationContext.class,0);
21401 }
21402 public ModifyColumnSpecificationContext modifyColumnSpecification() {
21403 return getRuleContext(ModifyColumnSpecificationContext.class,0);
21404 }
21405 public AlterDropContext alterDrop() {
21406 return getRuleContext(AlterDropContext.class,0);
21407 }
21408 public AlterCheckConstraintContext alterCheckConstraint() {
21409 return getRuleContext(AlterCheckConstraintContext.class,0);
21410 }
21411 public AlterTableTriggerContext alterTableTrigger() {
21412 return getRuleContext(AlterTableTriggerContext.class,0);
21413 }
21414 public AlterSwitchContext alterSwitch() {
21415 return getRuleContext(AlterSwitchContext.class,0);
21416 }
21417 public AlterSetContext alterSet() {
21418 return getRuleContext(AlterSetContext.class,0);
21419 }
21420 public AlterTableOptionContext alterTableOption() {
21421 return getRuleContext(AlterTableOptionContext.class,0);
21422 }
21423 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
21424 public AlterDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
21425 super(parent, invokingState);
21426 }
21427 @Override public int getRuleIndex() { return RULE_alterDefinitionClause; }
21428 @Override
21429 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21430 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDefinitionClause(this);
21431 else return visitor.visitChildren(this);
21432 }
21433 }
21434
21435 public final AlterDefinitionClauseContext alterDefinitionClause() throws RecognitionException {
21436 AlterDefinitionClauseContext _localctx = new AlterDefinitionClauseContext(_ctx, getState());
21437 enterRule(_localctx, 448, RULE_alterDefinitionClause);
21438 try {
21439 setState(3179);
21440 _errHandler.sync(this);
21441 switch ( getInterpreter().adaptivePredict(_input,279,_ctx) ) {
21442 case 1:
21443 enterOuterAlt(_localctx, 1);
21444 {
21445 setState(3170);
21446 addColumnSpecification();
21447 }
21448 break;
21449 case 2:
21450 enterOuterAlt(_localctx, 2);
21451 {
21452 setState(3171);
21453 modifyColumnSpecification();
21454 }
21455 break;
21456 case 3:
21457 enterOuterAlt(_localctx, 3);
21458 {
21459 setState(3172);
21460 alterDrop();
21461 }
21462 break;
21463 case 4:
21464 enterOuterAlt(_localctx, 4);
21465 {
21466 setState(3173);
21467 alterCheckConstraint();
21468 }
21469 break;
21470 case 5:
21471 enterOuterAlt(_localctx, 5);
21472 {
21473 setState(3174);
21474 alterTableTrigger();
21475 }
21476 break;
21477 case 6:
21478 enterOuterAlt(_localctx, 6);
21479 {
21480 setState(3175);
21481 alterSwitch();
21482 }
21483 break;
21484 case 7:
21485 enterOuterAlt(_localctx, 7);
21486 {
21487 setState(3176);
21488 alterSet();
21489 }
21490 break;
21491 case 8:
21492 enterOuterAlt(_localctx, 8);
21493 {
21494 setState(3177);
21495 alterTableOption();
21496 }
21497 break;
21498 case 9:
21499 enterOuterAlt(_localctx, 9);
21500 {
21501 setState(3178);
21502 match(REBUILD);
21503 }
21504 break;
21505 }
21506 }
21507 catch (RecognitionException re) {
21508 _localctx.exception = re;
21509 _errHandler.reportError(this, re);
21510 _errHandler.recover(this, re);
21511 }
21512 finally {
21513 exitRule();
21514 }
21515 return _localctx;
21516 }
21517
21518 public static class AddColumnSpecificationContext extends ParserRuleContext {
21519 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
21520 public AlterColumnAddOptionsContext alterColumnAddOptions() {
21521 return getRuleContext(AlterColumnAddOptionsContext.class,0);
21522 }
21523 public GeneratedColumnNamesClauseContext generatedColumnNamesClause() {
21524 return getRuleContext(GeneratedColumnNamesClauseContext.class,0);
21525 }
21526 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21527 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
21528 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
21529 public AddColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21530 super(parent, invokingState);
21531 }
21532 @Override public int getRuleIndex() { return RULE_addColumnSpecification; }
21533 @Override
21534 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21535 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddColumnSpecification(this);
21536 else return visitor.visitChildren(this);
21537 }
21538 }
21539
21540 public final AddColumnSpecificationContext addColumnSpecification() throws RecognitionException {
21541 AddColumnSpecificationContext _localctx = new AddColumnSpecificationContext(_ctx, getState());
21542 enterRule(_localctx, 450, RULE_addColumnSpecification);
21543 int _la;
21544 try {
21545 enterOuterAlt(_localctx, 1);
21546 {
21547 setState(3183);
21548 _errHandler.sync(this);
21549 _la = _input.LA(1);
21550 if (_la==WITH) {
21551 {
21552 setState(3181);
21553 match(WITH);
21554 setState(3182);
21555 _la = _input.LA(1);
21556 if ( !(_la==CHECK || _la==NOCHECK) ) {
21557 _errHandler.recoverInline(this);
21558 }
21559 else {
21560 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21561 _errHandler.reportMatch(this);
21562 consume();
21563 }
21564 }
21565 }
21566
21567 setState(3185);
21568 match(ADD);
21569 setState(3188);
21570 _errHandler.sync(this);
21571 switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) {
21572 case 1:
21573 {
21574 setState(3186);
21575 alterColumnAddOptions();
21576 }
21577 break;
21578 case 2:
21579 {
21580 setState(3187);
21581 generatedColumnNamesClause();
21582 }
21583 break;
21584 }
21585 }
21586 }
21587 catch (RecognitionException re) {
21588 _localctx.exception = re;
21589 _errHandler.reportError(this, re);
21590 _errHandler.recover(this, re);
21591 }
21592 finally {
21593 exitRule();
21594 }
21595 return _localctx;
21596 }
21597
21598 public static class ModifyColumnSpecificationContext extends ParserRuleContext {
21599 public AlterColumnOperationContext alterColumnOperation() {
21600 return getRuleContext(AlterColumnOperationContext.class,0);
21601 }
21602 public DataTypeContext dataType() {
21603 return getRuleContext(DataTypeContext.class,0);
21604 }
21605 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
21606 public CollationNameContext collationName() {
21607 return getRuleContext(CollationNameContext.class,0);
21608 }
21609 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
21610 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
21611 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
21612 public ModifyColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21613 super(parent, invokingState);
21614 }
21615 @Override public int getRuleIndex() { return RULE_modifyColumnSpecification; }
21616 @Override
21617 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21618 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitModifyColumnSpecification(this);
21619 else return visitor.visitChildren(this);
21620 }
21621 }
21622
21623 public final ModifyColumnSpecificationContext modifyColumnSpecification() throws RecognitionException {
21624 ModifyColumnSpecificationContext _localctx = new ModifyColumnSpecificationContext(_ctx, getState());
21625 enterRule(_localctx, 452, RULE_modifyColumnSpecification);
21626 int _la;
21627 try {
21628 enterOuterAlt(_localctx, 1);
21629 {
21630 setState(3190);
21631 alterColumnOperation();
21632 setState(3191);
21633 dataType();
21634 setState(3194);
21635 _errHandler.sync(this);
21636 _la = _input.LA(1);
21637 if (_la==COLLATE) {
21638 {
21639 setState(3192);
21640 match(COLLATE);
21641 setState(3193);
21642 collationName();
21643 }
21644 }
21645
21646 setState(3199);
21647 _errHandler.sync(this);
21648 switch (_input.LA(1)) {
21649 case NULL:
21650 {
21651 setState(3196);
21652 match(NULL);
21653 }
21654 break;
21655 case NOT:
21656 {
21657 setState(3197);
21658 match(NOT);
21659 setState(3198);
21660 match(NULL);
21661 }
21662 break;
21663 case EOF:
21664 case COMMA_:
21665 case SEMI_:
21666 case SELECT:
21667 case INSERT:
21668 case UPDATE:
21669 case DELETE:
21670 case CREATE:
21671 case ALTER:
21672 case DROP:
21673 case TRUNCATE:
21674 case SET:
21675 case WITH:
21676 case DECLARE:
21677 case RETURN:
21678 case END:
21679 case SPARSE:
21680 break;
21681 default:
21682 break;
21683 }
21684 setState(3202);
21685 _errHandler.sync(this);
21686 _la = _input.LA(1);
21687 if (_la==SPARSE) {
21688 {
21689 setState(3201);
21690 match(SPARSE);
21691 }
21692 }
21693
21694 }
21695 }
21696 catch (RecognitionException re) {
21697 _localctx.exception = re;
21698 _errHandler.reportError(this, re);
21699 _errHandler.recover(this, re);
21700 }
21701 finally {
21702 exitRule();
21703 }
21704 return _localctx;
21705 }
21706
21707 public static class AlterColumnOperationContext extends ParserRuleContext {
21708 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
21709 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
21710 public ColumnNameContext columnName() {
21711 return getRuleContext(ColumnNameContext.class,0);
21712 }
21713 public AlterColumnOperationContext(ParserRuleContext parent, int invokingState) {
21714 super(parent, invokingState);
21715 }
21716 @Override public int getRuleIndex() { return RULE_alterColumnOperation; }
21717 @Override
21718 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21719 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnOperation(this);
21720 else return visitor.visitChildren(this);
21721 }
21722 }
21723
21724 public final AlterColumnOperationContext alterColumnOperation() throws RecognitionException {
21725 AlterColumnOperationContext _localctx = new AlterColumnOperationContext(_ctx, getState());
21726 enterRule(_localctx, 454, RULE_alterColumnOperation);
21727 try {
21728 enterOuterAlt(_localctx, 1);
21729 {
21730 setState(3204);
21731 match(ALTER);
21732 setState(3205);
21733 match(COLUMN);
21734 setState(3206);
21735 columnName();
21736 }
21737 }
21738 catch (RecognitionException re) {
21739 _localctx.exception = re;
21740 _errHandler.reportError(this, re);
21741 _errHandler.recover(this, re);
21742 }
21743 finally {
21744 exitRule();
21745 }
21746 return _localctx;
21747 }
21748
21749 public static class AlterColumnAddOptionsContext extends ParserRuleContext {
21750 public List<AlterColumnAddOptionContext> alterColumnAddOption() {
21751 return getRuleContexts(AlterColumnAddOptionContext.class);
21752 }
21753 public AlterColumnAddOptionContext alterColumnAddOption(int i) {
21754 return getRuleContext(AlterColumnAddOptionContext.class,i);
21755 }
21756 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21757 public TerminalNode COMMA_(int i) {
21758 return getToken(SQLServerStatementParser.COMMA_, i);
21759 }
21760 public AlterColumnAddOptionsContext(ParserRuleContext parent, int invokingState) {
21761 super(parent, invokingState);
21762 }
21763 @Override public int getRuleIndex() { return RULE_alterColumnAddOptions; }
21764 @Override
21765 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21766 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOptions(this);
21767 else return visitor.visitChildren(this);
21768 }
21769 }
21770
21771 public final AlterColumnAddOptionsContext alterColumnAddOptions() throws RecognitionException {
21772 AlterColumnAddOptionsContext _localctx = new AlterColumnAddOptionsContext(_ctx, getState());
21773 enterRule(_localctx, 456, RULE_alterColumnAddOptions);
21774 try {
21775 int _alt;
21776 enterOuterAlt(_localctx, 1);
21777 {
21778 setState(3208);
21779 alterColumnAddOption();
21780 setState(3213);
21781 _errHandler.sync(this);
21782 _alt = getInterpreter().adaptivePredict(_input,285,_ctx);
21783 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21784 if ( _alt==1 ) {
21785 {
21786 {
21787 setState(3209);
21788 match(COMMA_);
21789 setState(3210);
21790 alterColumnAddOption();
21791 }
21792 }
21793 }
21794 setState(3215);
21795 _errHandler.sync(this);
21796 _alt = getInterpreter().adaptivePredict(_input,285,_ctx);
21797 }
21798 }
21799 }
21800 catch (RecognitionException re) {
21801 _localctx.exception = re;
21802 _errHandler.reportError(this, re);
21803 _errHandler.recover(this, re);
21804 }
21805 finally {
21806 exitRule();
21807 }
21808 return _localctx;
21809 }
21810
21811 public static class AlterColumnAddOptionContext extends ParserRuleContext {
21812 public ColumnDefinitionContext columnDefinition() {
21813 return getRuleContext(ColumnDefinitionContext.class,0);
21814 }
21815 public ComputedColumnDefinitionContext computedColumnDefinition() {
21816 return getRuleContext(ComputedColumnDefinitionContext.class,0);
21817 }
21818 public ColumnSetDefinitionContext columnSetDefinition() {
21819 return getRuleContext(ColumnSetDefinitionContext.class,0);
21820 }
21821 public TableConstraintContext tableConstraint() {
21822 return getRuleContext(TableConstraintContext.class,0);
21823 }
21824 public AlterTableTableIndexContext alterTableTableIndex() {
21825 return getRuleContext(AlterTableTableIndexContext.class,0);
21826 }
21827 public ConstraintForColumnContext constraintForColumn() {
21828 return getRuleContext(ConstraintForColumnContext.class,0);
21829 }
21830 public AlterColumnAddOptionContext(ParserRuleContext parent, int invokingState) {
21831 super(parent, invokingState);
21832 }
21833 @Override public int getRuleIndex() { return RULE_alterColumnAddOption; }
21834 @Override
21835 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21836 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOption(this);
21837 else return visitor.visitChildren(this);
21838 }
21839 }
21840
21841 public final AlterColumnAddOptionContext alterColumnAddOption() throws RecognitionException {
21842 AlterColumnAddOptionContext _localctx = new AlterColumnAddOptionContext(_ctx, getState());
21843 enterRule(_localctx, 458, RULE_alterColumnAddOption);
21844 try {
21845 setState(3222);
21846 _errHandler.sync(this);
21847 switch ( getInterpreter().adaptivePredict(_input,286,_ctx) ) {
21848 case 1:
21849 enterOuterAlt(_localctx, 1);
21850 {
21851 setState(3216);
21852 columnDefinition();
21853 }
21854 break;
21855 case 2:
21856 enterOuterAlt(_localctx, 2);
21857 {
21858 setState(3217);
21859 computedColumnDefinition();
21860 }
21861 break;
21862 case 3:
21863 enterOuterAlt(_localctx, 3);
21864 {
21865 setState(3218);
21866 columnSetDefinition();
21867 }
21868 break;
21869 case 4:
21870 enterOuterAlt(_localctx, 4);
21871 {
21872 setState(3219);
21873 tableConstraint();
21874 }
21875 break;
21876 case 5:
21877 enterOuterAlt(_localctx, 5);
21878 {
21879 setState(3220);
21880 alterTableTableIndex();
21881 }
21882 break;
21883 case 6:
21884 enterOuterAlt(_localctx, 6);
21885 {
21886 setState(3221);
21887 constraintForColumn();
21888 }
21889 break;
21890 }
21891 }
21892 catch (RecognitionException re) {
21893 _localctx.exception = re;
21894 _errHandler.reportError(this, re);
21895 _errHandler.recover(this, re);
21896 }
21897 finally {
21898 exitRule();
21899 }
21900 return _localctx;
21901 }
21902
21903 public static class ConstraintForColumnContext extends ParserRuleContext {
21904 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
21905 public SimpleExprContext simpleExpr() {
21906 return getRuleContext(SimpleExprContext.class,0);
21907 }
21908 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21909 public ColumnNameContext columnName() {
21910 return getRuleContext(ColumnNameContext.class,0);
21911 }
21912 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21913 public ConstraintNameContext constraintName() {
21914 return getRuleContext(ConstraintNameContext.class,0);
21915 }
21916 public ConstraintForColumnContext(ParserRuleContext parent, int invokingState) {
21917 super(parent, invokingState);
21918 }
21919 @Override public int getRuleIndex() { return RULE_constraintForColumn; }
21920 @Override
21921 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21922 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintForColumn(this);
21923 else return visitor.visitChildren(this);
21924 }
21925 }
21926
21927 public final ConstraintForColumnContext constraintForColumn() throws RecognitionException {
21928 ConstraintForColumnContext _localctx = new ConstraintForColumnContext(_ctx, getState());
21929 enterRule(_localctx, 460, RULE_constraintForColumn);
21930 int _la;
21931 try {
21932 enterOuterAlt(_localctx, 1);
21933 {
21934 setState(3226);
21935 _errHandler.sync(this);
21936 _la = _input.LA(1);
21937 if (_la==CONSTRAINT) {
21938 {
21939 setState(3224);
21940 match(CONSTRAINT);
21941 setState(3225);
21942 constraintName();
21943 }
21944 }
21945
21946 setState(3228);
21947 match(DEFAULT);
21948 setState(3229);
21949 simpleExpr(0);
21950 setState(3230);
21951 match(FOR);
21952 setState(3231);
21953 columnName();
21954 }
21955 }
21956 catch (RecognitionException re) {
21957 _localctx.exception = re;
21958 _errHandler.reportError(this, re);
21959 _errHandler.recover(this, re);
21960 }
21961 finally {
21962 exitRule();
21963 }
21964 return _localctx;
21965 }
21966
21967 public static class GeneratedColumnNamesClauseContext extends ParserRuleContext {
21968 public GeneratedColumnNameClauseContext generatedColumnNameClause() {
21969 return getRuleContext(GeneratedColumnNameClauseContext.class,0);
21970 }
21971 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21972 public PeriodClauseContext periodClause() {
21973 return getRuleContext(PeriodClauseContext.class,0);
21974 }
21975 public GeneratedColumnNamesClauseContext(ParserRuleContext parent, int invokingState) {
21976 super(parent, invokingState);
21977 }
21978 @Override public int getRuleIndex() { return RULE_generatedColumnNamesClause; }
21979 @Override
21980 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21981 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNamesClause(this);
21982 else return visitor.visitChildren(this);
21983 }
21984 }
21985
21986 public final GeneratedColumnNamesClauseContext generatedColumnNamesClause() throws RecognitionException {
21987 GeneratedColumnNamesClauseContext _localctx = new GeneratedColumnNamesClauseContext(_ctx, getState());
21988 enterRule(_localctx, 462, RULE_generatedColumnNamesClause);
21989 try {
21990 setState(3241);
21991 _errHandler.sync(this);
21992 switch ( getInterpreter().adaptivePredict(_input,288,_ctx) ) {
21993 case 1:
21994 enterOuterAlt(_localctx, 1);
21995 {
21996 setState(3233);
21997 generatedColumnNameClause();
21998 setState(3234);
21999 match(COMMA_);
22000 setState(3235);
22001 periodClause();
22002 }
22003 break;
22004 case 2:
22005 enterOuterAlt(_localctx, 2);
22006 {
22007 setState(3237);
22008 periodClause();
22009 setState(3238);
22010 match(COMMA_);
22011 setState(3239);
22012 generatedColumnNameClause();
22013 }
22014 break;
22015 }
22016 }
22017 catch (RecognitionException re) {
22018 _localctx.exception = re;
22019 _errHandler.reportError(this, re);
22020 _errHandler.recover(this, re);
22021 }
22022 finally {
22023 exitRule();
22024 }
22025 return _localctx;
22026 }
22027
22028 public static class GeneratedColumnNameClauseContext extends ParserRuleContext {
22029 public List<GeneratedColumnNameContext> generatedColumnName() {
22030 return getRuleContexts(GeneratedColumnNameContext.class);
22031 }
22032 public GeneratedColumnNameContext generatedColumnName(int i) {
22033 return getRuleContext(GeneratedColumnNameContext.class,i);
22034 }
22035 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
22036 public SimpleExprContext simpleExpr() {
22037 return getRuleContext(SimpleExprContext.class,0);
22038 }
22039 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22040 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22041 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
22042 public GeneratedColumnNameClauseContext(ParserRuleContext parent, int invokingState) {
22043 super(parent, invokingState);
22044 }
22045 @Override public int getRuleIndex() { return RULE_generatedColumnNameClause; }
22046 @Override
22047 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22048 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNameClause(this);
22049 else return visitor.visitChildren(this);
22050 }
22051 }
22052
22053 public final GeneratedColumnNameClauseContext generatedColumnNameClause() throws RecognitionException {
22054 GeneratedColumnNameClauseContext _localctx = new GeneratedColumnNameClauseContext(_ctx, getState());
22055 enterRule(_localctx, 464, RULE_generatedColumnNameClause);
22056 int _la;
22057 try {
22058 enterOuterAlt(_localctx, 1);
22059 {
22060 setState(3243);
22061 generatedColumnName();
22062 setState(3244);
22063 match(DEFAULT);
22064 setState(3245);
22065 simpleExpr(0);
22066 setState(3248);
22067 _errHandler.sync(this);
22068 _la = _input.LA(1);
22069 if (_la==WITH) {
22070 {
22071 setState(3246);
22072 match(WITH);
22073 setState(3247);
22074 match(VALUES);
22075 }
22076 }
22077
22078 setState(3250);
22079 match(COMMA_);
22080 setState(3251);
22081 generatedColumnName();
22082 }
22083 }
22084 catch (RecognitionException re) {
22085 _localctx.exception = re;
22086 _errHandler.reportError(this, re);
22087 _errHandler.recover(this, re);
22088 }
22089 finally {
22090 exitRule();
22091 }
22092 return _localctx;
22093 }
22094
22095 public static class GeneratedColumnNameContext extends ParserRuleContext {
22096 public ColumnNameContext columnName() {
22097 return getRuleContext(ColumnNameContext.class,0);
22098 }
22099 public DataTypeNameContext dataTypeName() {
22100 return getRuleContext(DataTypeNameContext.class,0);
22101 }
22102 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
22103 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
22104 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
22105 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
22106 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
22107 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
22108 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
22109 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
22110 public IgnoredIdentifierContext ignoredIdentifier() {
22111 return getRuleContext(IgnoredIdentifierContext.class,0);
22112 }
22113 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
22114 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
22115 public GeneratedColumnNameContext(ParserRuleContext parent, int invokingState) {
22116 super(parent, invokingState);
22117 }
22118 @Override public int getRuleIndex() { return RULE_generatedColumnName; }
22119 @Override
22120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22121 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnName(this);
22122 else return visitor.visitChildren(this);
22123 }
22124 }
22125
22126 public final GeneratedColumnNameContext generatedColumnName() throws RecognitionException {
22127 GeneratedColumnNameContext _localctx = new GeneratedColumnNameContext(_ctx, getState());
22128 enterRule(_localctx, 466, RULE_generatedColumnName);
22129 int _la;
22130 try {
22131 enterOuterAlt(_localctx, 1);
22132 {
22133 setState(3253);
22134 columnName();
22135 setState(3254);
22136 dataTypeName();
22137 setState(3255);
22138 match(GENERATED);
22139 setState(3256);
22140 match(ALWAYS);
22141 setState(3257);
22142 match(AS);
22143 setState(3258);
22144 match(ROW);
22145 setState(3260);
22146 _errHandler.sync(this);
22147 switch ( getInterpreter().adaptivePredict(_input,290,_ctx) ) {
22148 case 1:
22149 {
22150 setState(3259);
22151 _la = _input.LA(1);
22152 if ( !(_la==START || _la==END) ) {
22153 _errHandler.recoverInline(this);
22154 }
22155 else {
22156 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22157 _errHandler.reportMatch(this);
22158 consume();
22159 }
22160 }
22161 break;
22162 }
22163 setState(3263);
22164 _errHandler.sync(this);
22165 _la = _input.LA(1);
22166 if (_la==HIDDEN_) {
22167 {
22168 setState(3262);
22169 match(HIDDEN_);
22170 }
22171 }
22172
22173 setState(3267);
22174 _errHandler.sync(this);
22175 _la = _input.LA(1);
22176 if (_la==NOT) {
22177 {
22178 setState(3265);
22179 match(NOT);
22180 setState(3266);
22181 match(NULL);
22182 }
22183 }
22184
22185 setState(3271);
22186 _errHandler.sync(this);
22187 _la = _input.LA(1);
22188 if (_la==CONSTRAINT) {
22189 {
22190 setState(3269);
22191 match(CONSTRAINT);
22192 setState(3270);
22193 ignoredIdentifier();
22194 }
22195 }
22196
22197 }
22198 }
22199 catch (RecognitionException re) {
22200 _localctx.exception = re;
22201 _errHandler.reportError(this, re);
22202 _errHandler.recover(this, re);
22203 }
22204 finally {
22205 exitRule();
22206 }
22207 return _localctx;
22208 }
22209
22210 public static class AlterDropContext extends ParserRuleContext {
22211 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
22212 public AlterTableDropConstraintContext alterTableDropConstraint() {
22213 return getRuleContext(AlterTableDropConstraintContext.class,0);
22214 }
22215 public DropColumnSpecificationContext dropColumnSpecification() {
22216 return getRuleContext(DropColumnSpecificationContext.class,0);
22217 }
22218 public DropIndexSpecificationContext dropIndexSpecification() {
22219 return getRuleContext(DropIndexSpecificationContext.class,0);
22220 }
22221 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
22222 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
22223 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
22224 public AlterDropContext(ParserRuleContext parent, int invokingState) {
22225 super(parent, invokingState);
22226 }
22227 @Override public int getRuleIndex() { return RULE_alterDrop; }
22228 @Override
22229 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22230 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDrop(this);
22231 else return visitor.visitChildren(this);
22232 }
22233 }
22234
22235 public final AlterDropContext alterDrop() throws RecognitionException {
22236 AlterDropContext _localctx = new AlterDropContext(_ctx, getState());
22237 enterRule(_localctx, 468, RULE_alterDrop);
22238 try {
22239 enterOuterAlt(_localctx, 1);
22240 {
22241 setState(3273);
22242 match(DROP);
22243 setState(3280);
22244 _errHandler.sync(this);
22245 switch ( getInterpreter().adaptivePredict(_input,294,_ctx) ) {
22246 case 1:
22247 {
22248 setState(3274);
22249 alterTableDropConstraint();
22250 }
22251 break;
22252 case 2:
22253 {
22254 setState(3275);
22255 dropColumnSpecification();
22256 }
22257 break;
22258 case 3:
22259 {
22260 setState(3276);
22261 dropIndexSpecification();
22262 }
22263 break;
22264 case 4:
22265 {
22266 setState(3277);
22267 match(PERIOD);
22268 setState(3278);
22269 match(FOR);
22270 setState(3279);
22271 match(SYSTEM_TIME);
22272 }
22273 break;
22274 }
22275 }
22276 }
22277 catch (RecognitionException re) {
22278 _localctx.exception = re;
22279 _errHandler.reportError(this, re);
22280 _errHandler.recover(this, re);
22281 }
22282 finally {
22283 exitRule();
22284 }
22285 return _localctx;
22286 }
22287
22288 public static class AlterTableDropConstraintContext extends ParserRuleContext {
22289 public List<DropConstraintNameContext> dropConstraintName() {
22290 return getRuleContexts(DropConstraintNameContext.class);
22291 }
22292 public DropConstraintNameContext dropConstraintName(int i) {
22293 return getRuleContext(DropConstraintNameContext.class,i);
22294 }
22295 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
22296 public IfExistsContext ifExists() {
22297 return getRuleContext(IfExistsContext.class,0);
22298 }
22299 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22300 public TerminalNode COMMA_(int i) {
22301 return getToken(SQLServerStatementParser.COMMA_, i);
22302 }
22303 public AlterTableDropConstraintContext(ParserRuleContext parent, int invokingState) {
22304 super(parent, invokingState);
22305 }
22306 @Override public int getRuleIndex() { return RULE_alterTableDropConstraint; }
22307 @Override
22308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableDropConstraint(this);
22310 else return visitor.visitChildren(this);
22311 }
22312 }
22313
22314 public final AlterTableDropConstraintContext alterTableDropConstraint() throws RecognitionException {
22315 AlterTableDropConstraintContext _localctx = new AlterTableDropConstraintContext(_ctx, getState());
22316 enterRule(_localctx, 470, RULE_alterTableDropConstraint);
22317 int _la;
22318 try {
22319 int _alt;
22320 enterOuterAlt(_localctx, 1);
22321 {
22322 setState(3283);
22323 _errHandler.sync(this);
22324 _la = _input.LA(1);
22325 if (_la==CONSTRAINT) {
22326 {
22327 setState(3282);
22328 match(CONSTRAINT);
22329 }
22330 }
22331
22332 setState(3286);
22333 _errHandler.sync(this);
22334 _la = _input.LA(1);
22335 if (_la==IF) {
22336 {
22337 setState(3285);
22338 ifExists();
22339 }
22340 }
22341
22342 setState(3288);
22343 dropConstraintName();
22344 setState(3293);
22345 _errHandler.sync(this);
22346 _alt = getInterpreter().adaptivePredict(_input,297,_ctx);
22347 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22348 if ( _alt==1 ) {
22349 {
22350 {
22351 setState(3289);
22352 match(COMMA_);
22353 setState(3290);
22354 dropConstraintName();
22355 }
22356 }
22357 }
22358 setState(3295);
22359 _errHandler.sync(this);
22360 _alt = getInterpreter().adaptivePredict(_input,297,_ctx);
22361 }
22362 }
22363 }
22364 catch (RecognitionException re) {
22365 _localctx.exception = re;
22366 _errHandler.reportError(this, re);
22367 _errHandler.recover(this, re);
22368 }
22369 finally {
22370 exitRule();
22371 }
22372 return _localctx;
22373 }
22374
22375 public static class DropConstraintNameContext extends ParserRuleContext {
22376 public ConstraintNameContext constraintName() {
22377 return getRuleContext(ConstraintNameContext.class,0);
22378 }
22379 public DropConstraintWithClauseContext dropConstraintWithClause() {
22380 return getRuleContext(DropConstraintWithClauseContext.class,0);
22381 }
22382 public DropConstraintNameContext(ParserRuleContext parent, int invokingState) {
22383 super(parent, invokingState);
22384 }
22385 @Override public int getRuleIndex() { return RULE_dropConstraintName; }
22386 @Override
22387 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22388 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintName(this);
22389 else return visitor.visitChildren(this);
22390 }
22391 }
22392
22393 public final DropConstraintNameContext dropConstraintName() throws RecognitionException {
22394 DropConstraintNameContext _localctx = new DropConstraintNameContext(_ctx, getState());
22395 enterRule(_localctx, 472, RULE_dropConstraintName);
22396 try {
22397 enterOuterAlt(_localctx, 1);
22398 {
22399 setState(3296);
22400 constraintName();
22401 setState(3298);
22402 _errHandler.sync(this);
22403 switch ( getInterpreter().adaptivePredict(_input,298,_ctx) ) {
22404 case 1:
22405 {
22406 setState(3297);
22407 dropConstraintWithClause();
22408 }
22409 break;
22410 }
22411 }
22412 }
22413 catch (RecognitionException re) {
22414 _localctx.exception = re;
22415 _errHandler.reportError(this, re);
22416 _errHandler.recover(this, re);
22417 }
22418 finally {
22419 exitRule();
22420 }
22421 return _localctx;
22422 }
22423
22424 public static class DropConstraintWithClauseContext extends ParserRuleContext {
22425 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22426 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22427 public List<DropConstraintOptionContext> dropConstraintOption() {
22428 return getRuleContexts(DropConstraintOptionContext.class);
22429 }
22430 public DropConstraintOptionContext dropConstraintOption(int i) {
22431 return getRuleContext(DropConstraintOptionContext.class,i);
22432 }
22433 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22434 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22435 public TerminalNode COMMA_(int i) {
22436 return getToken(SQLServerStatementParser.COMMA_, i);
22437 }
22438 public DropConstraintWithClauseContext(ParserRuleContext parent, int invokingState) {
22439 super(parent, invokingState);
22440 }
22441 @Override public int getRuleIndex() { return RULE_dropConstraintWithClause; }
22442 @Override
22443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintWithClause(this);
22445 else return visitor.visitChildren(this);
22446 }
22447 }
22448
22449 public final DropConstraintWithClauseContext dropConstraintWithClause() throws RecognitionException {
22450 DropConstraintWithClauseContext _localctx = new DropConstraintWithClauseContext(_ctx, getState());
22451 enterRule(_localctx, 474, RULE_dropConstraintWithClause);
22452 int _la;
22453 try {
22454 enterOuterAlt(_localctx, 1);
22455 {
22456 setState(3300);
22457 match(WITH);
22458 setState(3301);
22459 match(LP_);
22460 setState(3302);
22461 dropConstraintOption();
22462 setState(3307);
22463 _errHandler.sync(this);
22464 _la = _input.LA(1);
22465 while (_la==COMMA_) {
22466 {
22467 {
22468 setState(3303);
22469 match(COMMA_);
22470 setState(3304);
22471 dropConstraintOption();
22472 }
22473 }
22474 setState(3309);
22475 _errHandler.sync(this);
22476 _la = _input.LA(1);
22477 }
22478 setState(3310);
22479 match(RP_);
22480 }
22481 }
22482 catch (RecognitionException re) {
22483 _localctx.exception = re;
22484 _errHandler.reportError(this, re);
22485 _errHandler.recover(this, re);
22486 }
22487 finally {
22488 exitRule();
22489 }
22490 return _localctx;
22491 }
22492
22493 public static class DropConstraintOptionContext extends ParserRuleContext {
22494 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
22495 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22496 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
22497 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
22498 public OnOffOptionContext onOffOption() {
22499 return getRuleContext(OnOffOptionContext.class,0);
22500 }
22501 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
22502 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
22503 public SchemaNameContext schemaName() {
22504 return getRuleContext(SchemaNameContext.class,0);
22505 }
22506 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22507 public ColumnNameContext columnName() {
22508 return getRuleContext(ColumnNameContext.class,0);
22509 }
22510 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22511 public IgnoredIdentifierContext ignoredIdentifier() {
22512 return getRuleContext(IgnoredIdentifierContext.class,0);
22513 }
22514 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
22515 public DropConstraintOptionContext(ParserRuleContext parent, int invokingState) {
22516 super(parent, invokingState);
22517 }
22518 @Override public int getRuleIndex() { return RULE_dropConstraintOption; }
22519 @Override
22520 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22521 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintOption(this);
22522 else return visitor.visitChildren(this);
22523 }
22524 }
22525
22526 public final DropConstraintOptionContext dropConstraintOption() throws RecognitionException {
22527 DropConstraintOptionContext _localctx = new DropConstraintOptionContext(_ctx, getState());
22528 enterRule(_localctx, 476, RULE_dropConstraintOption);
22529 try {
22530 enterOuterAlt(_localctx, 1);
22531 {
22532 setState(3329);
22533 _errHandler.sync(this);
22534 switch (_input.LA(1)) {
22535 case MAXDOP:
22536 {
22537 setState(3312);
22538 match(MAXDOP);
22539 setState(3313);
22540 match(EQ_);
22541 setState(3314);
22542 match(NUMBER_);
22543 }
22544 break;
22545 case ONLINE:
22546 {
22547 setState(3315);
22548 match(ONLINE);
22549 setState(3316);
22550 match(EQ_);
22551 setState(3317);
22552 onOffOption();
22553 }
22554 break;
22555 case MOVE:
22556 {
22557 setState(3318);
22558 match(MOVE);
22559 setState(3319);
22560 match(TO);
22561 setState(3327);
22562 _errHandler.sync(this);
22563 switch ( getInterpreter().adaptivePredict(_input,300,_ctx) ) {
22564 case 1:
22565 {
22566 setState(3320);
22567 schemaName();
22568 setState(3321);
22569 match(LP_);
22570 setState(3322);
22571 columnName();
22572 setState(3323);
22573 match(RP_);
22574 }
22575 break;
22576 case 2:
22577 {
22578 setState(3325);
22579 ignoredIdentifier();
22580 }
22581 break;
22582 case 3:
22583 {
22584 setState(3326);
22585 match(STRING_);
22586 }
22587 break;
22588 }
22589 }
22590 break;
22591 default:
22592 throw new NoViableAltException(this);
22593 }
22594 }
22595 }
22596 catch (RecognitionException re) {
22597 _localctx.exception = re;
22598 _errHandler.reportError(this, re);
22599 _errHandler.recover(this, re);
22600 }
22601 finally {
22602 exitRule();
22603 }
22604 return _localctx;
22605 }
22606
22607 public static class OnOffOptionContext extends ParserRuleContext {
22608 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22609 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22610 public OnOffOptionContext(ParserRuleContext parent, int invokingState) {
22611 super(parent, invokingState);
22612 }
22613 @Override public int getRuleIndex() { return RULE_onOffOption; }
22614 @Override
22615 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22616 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnOffOption(this);
22617 else return visitor.visitChildren(this);
22618 }
22619 }
22620
22621 public final OnOffOptionContext onOffOption() throws RecognitionException {
22622 OnOffOptionContext _localctx = new OnOffOptionContext(_ctx, getState());
22623 enterRule(_localctx, 478, RULE_onOffOption);
22624 int _la;
22625 try {
22626 enterOuterAlt(_localctx, 1);
22627 {
22628 setState(3331);
22629 _la = _input.LA(1);
22630 if ( !(_la==ON || _la==OFF) ) {
22631 _errHandler.recoverInline(this);
22632 }
22633 else {
22634 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22635 _errHandler.reportMatch(this);
22636 consume();
22637 }
22638 }
22639 }
22640 catch (RecognitionException re) {
22641 _localctx.exception = re;
22642 _errHandler.reportError(this, re);
22643 _errHandler.recover(this, re);
22644 }
22645 finally {
22646 exitRule();
22647 }
22648 return _localctx;
22649 }
22650
22651 public static class DropColumnSpecificationContext extends ParserRuleContext {
22652 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
22653 public List<ColumnNameContext> columnName() {
22654 return getRuleContexts(ColumnNameContext.class);
22655 }
22656 public ColumnNameContext columnName(int i) {
22657 return getRuleContext(ColumnNameContext.class,i);
22658 }
22659 public IfExistsContext ifExists() {
22660 return getRuleContext(IfExistsContext.class,0);
22661 }
22662 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22663 public TerminalNode COMMA_(int i) {
22664 return getToken(SQLServerStatementParser.COMMA_, i);
22665 }
22666 public DropColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
22667 super(parent, invokingState);
22668 }
22669 @Override public int getRuleIndex() { return RULE_dropColumnSpecification; }
22670 @Override
22671 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22672 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropColumnSpecification(this);
22673 else return visitor.visitChildren(this);
22674 }
22675 }
22676
22677 public final DropColumnSpecificationContext dropColumnSpecification() throws RecognitionException {
22678 DropColumnSpecificationContext _localctx = new DropColumnSpecificationContext(_ctx, getState());
22679 enterRule(_localctx, 480, RULE_dropColumnSpecification);
22680 int _la;
22681 try {
22682 int _alt;
22683 enterOuterAlt(_localctx, 1);
22684 {
22685 setState(3333);
22686 match(COLUMN);
22687 setState(3335);
22688 _errHandler.sync(this);
22689 _la = _input.LA(1);
22690 if (_la==IF) {
22691 {
22692 setState(3334);
22693 ifExists();
22694 }
22695 }
22696
22697 setState(3337);
22698 columnName();
22699 setState(3342);
22700 _errHandler.sync(this);
22701 _alt = getInterpreter().adaptivePredict(_input,303,_ctx);
22702 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22703 if ( _alt==1 ) {
22704 {
22705 {
22706 setState(3338);
22707 match(COMMA_);
22708 setState(3339);
22709 columnName();
22710 }
22711 }
22712 }
22713 setState(3344);
22714 _errHandler.sync(this);
22715 _alt = getInterpreter().adaptivePredict(_input,303,_ctx);
22716 }
22717 }
22718 }
22719 catch (RecognitionException re) {
22720 _localctx.exception = re;
22721 _errHandler.reportError(this, re);
22722 _errHandler.recover(this, re);
22723 }
22724 finally {
22725 exitRule();
22726 }
22727 return _localctx;
22728 }
22729
22730 public static class DropIndexSpecificationContext extends ParserRuleContext {
22731 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
22732 public List<IndexNameContext> indexName() {
22733 return getRuleContexts(IndexNameContext.class);
22734 }
22735 public IndexNameContext indexName(int i) {
22736 return getRuleContext(IndexNameContext.class,i);
22737 }
22738 public IfExistsContext ifExists() {
22739 return getRuleContext(IfExistsContext.class,0);
22740 }
22741 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22742 public TerminalNode COMMA_(int i) {
22743 return getToken(SQLServerStatementParser.COMMA_, i);
22744 }
22745 public DropIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
22746 super(parent, invokingState);
22747 }
22748 @Override public int getRuleIndex() { return RULE_dropIndexSpecification; }
22749 @Override
22750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndexSpecification(this);
22752 else return visitor.visitChildren(this);
22753 }
22754 }
22755
22756 public final DropIndexSpecificationContext dropIndexSpecification() throws RecognitionException {
22757 DropIndexSpecificationContext _localctx = new DropIndexSpecificationContext(_ctx, getState());
22758 enterRule(_localctx, 482, RULE_dropIndexSpecification);
22759 int _la;
22760 try {
22761 int _alt;
22762 enterOuterAlt(_localctx, 1);
22763 {
22764 setState(3345);
22765 match(INDEX);
22766 setState(3347);
22767 _errHandler.sync(this);
22768 _la = _input.LA(1);
22769 if (_la==IF) {
22770 {
22771 setState(3346);
22772 ifExists();
22773 }
22774 }
22775
22776 setState(3349);
22777 indexName();
22778 setState(3354);
22779 _errHandler.sync(this);
22780 _alt = getInterpreter().adaptivePredict(_input,305,_ctx);
22781 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22782 if ( _alt==1 ) {
22783 {
22784 {
22785 setState(3350);
22786 match(COMMA_);
22787 setState(3351);
22788 indexName();
22789 }
22790 }
22791 }
22792 setState(3356);
22793 _errHandler.sync(this);
22794 _alt = getInterpreter().adaptivePredict(_input,305,_ctx);
22795 }
22796 }
22797 }
22798 catch (RecognitionException re) {
22799 _localctx.exception = re;
22800 _errHandler.reportError(this, re);
22801 _errHandler.recover(this, re);
22802 }
22803 finally {
22804 exitRule();
22805 }
22806 return _localctx;
22807 }
22808
22809 public static class AlterCheckConstraintContext extends ParserRuleContext {
22810 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
22811 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
22812 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
22813 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
22814 public ConstraintNameContext constraintName() {
22815 return getRuleContext(ConstraintNameContext.class,0);
22816 }
22817 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22818 public AlterCheckConstraintContext(ParserRuleContext parent, int invokingState) {
22819 super(parent, invokingState);
22820 }
22821 @Override public int getRuleIndex() { return RULE_alterCheckConstraint; }
22822 @Override
22823 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22824 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterCheckConstraint(this);
22825 else return visitor.visitChildren(this);
22826 }
22827 }
22828
22829 public final AlterCheckConstraintContext alterCheckConstraint() throws RecognitionException {
22830 AlterCheckConstraintContext _localctx = new AlterCheckConstraintContext(_ctx, getState());
22831 enterRule(_localctx, 484, RULE_alterCheckConstraint);
22832 int _la;
22833 try {
22834 enterOuterAlt(_localctx, 1);
22835 {
22836 setState(3358);
22837 _errHandler.sync(this);
22838 _la = _input.LA(1);
22839 if (_la==WITH) {
22840 {
22841 setState(3357);
22842 match(WITH);
22843 }
22844 }
22845
22846 setState(3360);
22847 _la = _input.LA(1);
22848 if ( !(_la==CHECK || _la==NOCHECK) ) {
22849 _errHandler.recoverInline(this);
22850 }
22851 else {
22852 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22853 _errHandler.reportMatch(this);
22854 consume();
22855 }
22856 setState(3361);
22857 match(CONSTRAINT);
22858 setState(3364);
22859 _errHandler.sync(this);
22860 switch (_input.LA(1)) {
22861 case ALL:
22862 {
22863 setState(3362);
22864 match(ALL);
22865 }
22866 break;
22867 case TRUNCATE:
22868 case SCHEMA:
22869 case COLUMNS:
22870 case PRECISION:
22871 case FUNCTION:
22872 case TRIGGER:
22873 case CAST:
22874 case TRIM:
22875 case SUBSTRING:
22876 case RIGHT:
22877 case OFF:
22878 case GROUP:
22879 case LIMIT:
22880 case OFFSET:
22881 case SAVEPOINT:
22882 case BOOLEAN:
22883 case ARRAY:
22884 case DATE:
22885 case TIMESTAMP:
22886 case LOCALTIME:
22887 case LOCALTIMESTAMP:
22888 case YEAR:
22889 case QUARTER:
22890 case MONTH:
22891 case WEEK:
22892 case DAY:
22893 case SECOND:
22894 case MICROSECOND:
22895 case MAX:
22896 case MIN:
22897 case SUM:
22898 case COUNT:
22899 case AVG:
22900 case ENABLE:
22901 case DISABLE:
22902 case INSTANCE:
22903 case DO:
22904 case DEFINER:
22905 case SQL:
22906 case CASCADED:
22907 case LOCAL:
22908 case NEXT:
22909 case NAME:
22910 case INTEGER:
22911 case TYPE:
22912 case TEXT:
22913 case VIEWS:
22914 case READ_ONLY:
22915 case DATABASE:
22916 case RETURNS:
22917 case DATEPART:
22918 case PASSWORD:
22919 case BINARY:
22920 case HIDDEN_:
22921 case MOD:
22922 case PARTITION:
22923 case PARTITIONS:
22924 case TOP:
22925 case ROW:
22926 case ROWS:
22927 case XOR:
22928 case ALWAYS:
22929 case USER:
22930 case ROLE:
22931 case START:
22932 case ALGORITHM:
22933 case AUTO:
22934 case BLOCKERS:
22935 case CLUSTERED:
22936 case NONCLUSTERED:
22937 case COLUMNSTORE:
22938 case CONTENT:
22939 case YEARS:
22940 case MONTHS:
22941 case WEEKS:
22942 case DAYS:
22943 case MINUTES:
22944 case DENY:
22945 case DETERMINISTIC:
22946 case DISTRIBUTION:
22947 case DOCUMENT:
22948 case DURABILITY:
22949 case ENCRYPTED:
22950 case FILESTREAM:
22951 case FILETABLE:
22952 case FILLFACTOR:
22953 case FOLLOWING:
22954 case HASH:
22955 case HEAP:
22956 case INBOUND:
22957 case OUTBOUND:
22958 case UNBOUNDED:
22959 case INFINITE:
22960 case LOGIN:
22961 case MASKED:
22962 case MAXDOP:
22963 case MOVE:
22964 case NOCHECK:
22965 case OBJECT:
22966 case ONLINE:
22967 case OVER:
22968 case PAGE:
22969 case PAUSED:
22970 case PERIOD:
22971 case PERSISTED:
22972 case PRECEDING:
22973 case RANDOMIZED:
22974 case RANGE:
22975 case REBUILD:
22976 case REPLICATE:
22977 case REPLICATION:
22978 case RESUMABLE:
22979 case ROWGUIDCOL:
22980 case SAVE:
22981 case SELF:
22982 case SPARSE:
22983 case SWITCH:
22984 case TRAN:
22985 case TRANCOUNT:
22986 case CONTROL:
22987 case CONCAT:
22988 case TAKE:
22989 case OWNERSHIP:
22990 case DEFINITION:
22991 case APPLICATION:
22992 case ASSEMBLY:
22993 case SYMMETRIC:
22994 case ASYMMETRIC:
22995 case SERVER:
22996 case RECEIVE:
22997 case CHANGE:
22998 case TRACE:
22999 case TRACKING:
23000 case RESOURCES:
23001 case SETTINGS:
23002 case STATE:
23003 case AVAILABILITY:
23004 case CREDENTIAL:
23005 case ENDPOINT:
23006 case EVENT:
23007 case NOTIFICATION:
23008 case LINKED:
23009 case AUDIT:
23010 case DDL:
23011 case XML:
23012 case IMPERSONATE:
23013 case SECURABLES:
23014 case AUTHENTICATE:
23015 case EXTERNAL:
23016 case ACCESS:
23017 case ADMINISTER:
23018 case BULK:
23019 case OPERATIONS:
23020 case UNSAFE:
23021 case SHUTDOWN:
23022 case SCOPED:
23023 case CONFIGURATION:
23024 case DATASPACE:
23025 case SERVICE:
23026 case CERTIFICATE:
23027 case CONTRACT:
23028 case ENCRYPTION:
23029 case MASTER:
23030 case DATA:
23031 case SOURCE:
23032 case FILE:
23033 case FORMAT:
23034 case LIBRARY:
23035 case FULLTEXT:
23036 case MASK:
23037 case UNMASK:
23038 case MESSAGE:
23039 case REMOTE:
23040 case BINDING:
23041 case ROUTE:
23042 case SECURITY:
23043 case POLICY:
23044 case AGGREGATE:
23045 case QUEUE:
23046 case RULE:
23047 case SYNONYM:
23048 case COLLECTION:
23049 case SCRIPT:
23050 case KILL:
23051 case BACKUP:
23052 case LOG:
23053 case SHOWPLAN:
23054 case SUBSCRIBE:
23055 case QUERY:
23056 case NOTIFICATIONS:
23057 case CHECKPOINT:
23058 case SEQUENCE:
23059 case ABORT_AFTER_WAIT:
23060 case ALLOW_PAGE_LOCKS:
23061 case ALLOW_ROW_LOCKS:
23062 case ALL_SPARSE_COLUMNS:
23063 case BUCKET_COUNT:
23064 case COLUMNSTORE_ARCHIVE:
23065 case COLUMN_ENCRYPTION_KEY:
23066 case COLUMN_SET:
23067 case COMPRESSION_DELAY:
23068 case DATABASE_DEAULT:
23069 case DATA_COMPRESSION:
23070 case DATA_CONSISTENCY_CHECK:
23071 case ENCRYPTION_TYPE:
23072 case SYSTEM_TIME:
23073 case SYSTEM_VERSIONING:
23074 case TEXTIMAGE_ON:
23075 case WAIT_AT_LOW_PRIORITY:
23076 case STATISTICS_INCREMENTAL:
23077 case STATISTICS_NORECOMPUTE:
23078 case ROUND_ROBIN:
23079 case SCHEMA_AND_DATA:
23080 case SCHEMA_ONLY:
23081 case SORT_IN_TEMPDB:
23082 case IGNORE_DUP_KEY:
23083 case IMPLICIT_TRANSACTIONS:
23084 case MAX_DURATION:
23085 case MEMORY_OPTIMIZED:
23086 case MIGRATION_STATE:
23087 case PAD_INDEX:
23088 case REMOTE_DATA_ARCHIVE:
23089 case FILESTREAM_ON:
23090 case FILETABLE_COLLATE_FILENAME:
23091 case FILETABLE_DIRECTORY:
23092 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
23093 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
23094 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
23095 case FILTER_PREDICATE:
23096 case HISTORY_RETENTION_PERIOD:
23097 case HISTORY_TABLE:
23098 case LOCK_ESCALATION:
23099 case DROP_EXISTING:
23100 case ROW_NUMBER:
23101 case FIRST:
23102 case DATETIME2:
23103 case OUTPUT:
23104 case INSERTED:
23105 case DELETED:
23106 case FILENAME:
23107 case SIZE:
23108 case MAXSIZE:
23109 case FILEGROWTH:
23110 case UNLIMITED:
23111 case KB:
23112 case MB:
23113 case GB:
23114 case TB:
23115 case CONTAINS:
23116 case MEMORY_OPTIMIZED_DATA:
23117 case FILEGROUP:
23118 case NON_TRANSACTED_ACCESS:
23119 case DB_CHAINING:
23120 case TRUSTWORTHY:
23121 case FORWARD_ONLY:
23122 case KEYSET:
23123 case FAST_FORWARD:
23124 case SCROLL_LOCKS:
23125 case OPTIMISTIC:
23126 case TYPE_WARNING:
23127 case SCHEMABINDING:
23128 case CALLER:
23129 case INPUT:
23130 case OWNER:
23131 case SNAPSHOT:
23132 case REPEATABLE:
23133 case SERIALIZABLE:
23134 case NATIVE_COMPILATION:
23135 case VIEW_METADATA:
23136 case INSTEAD:
23137 case APPEND:
23138 case INCREMENT:
23139 case CACHE:
23140 case MINVALUE:
23141 case MAXVALUE:
23142 case RESTART:
23143 case LOB_COMPACTION:
23144 case COMPRESS_ALL_ROW_GROUPS:
23145 case REORGANIZE:
23146 case RESUME:
23147 case PAUSE:
23148 case ABORT:
23149 case ACCELERATED_DATABASE_RECOVERY:
23150 case PERSISTENT_VERSION_STORE_FILEGROUP:
23151 case IMMEDIATE:
23152 case NO_WAIT:
23153 case TARGET_RECOVERY_TIME:
23154 case SECONDS:
23155 case HONOR_BROKER_PRIORITY:
23156 case ERROR_BROKER_CONVERSATIONS:
23157 case NEW_BROKER:
23158 case DISABLE_BROKER:
23159 case ENABLE_BROKER:
23160 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
23161 case READ_COMMITTED_SNAPSHOT:
23162 case ALLOW_SNAPSHOT_ISOLATION:
23163 case RECURSIVE_TRIGGERS:
23164 case QUOTED_IDENTIFIER:
23165 case NUMERIC_ROUNDABORT:
23166 case CONCAT_NULL_YIELDS_NULL:
23167 case COMPATIBILITY_LEVEL:
23168 case ARITHABORT:
23169 case ANSI_WARNINGS:
23170 case ANSI_PADDING:
23171 case ANSI_NULLS:
23172 case ANSI_NULL_DEFAULT:
23173 case PAGE_VERIFY:
23174 case CHECKSUM:
23175 case TORN_PAGE_DETECTION:
23176 case BULK_LOGGED:
23177 case RECOVERY:
23178 case TOTAL_EXECUTION_CPU_TIME_MS:
23179 case TOTAL_COMPILE_CPU_TIME_MS:
23180 case STALE_CAPTURE_POLICY_THRESHOLD:
23181 case EXECUTION_COUNT:
23182 case QUERY_CAPTURE_POLICY:
23183 case WAIT_STATS_CAPTURE_MODE:
23184 case MAX_PLANS_PER_QUERY:
23185 case QUERY_CAPTURE_MODE:
23186 case SIZE_BASED_CLEANUP_MODE:
23187 case INTERVAL_LENGTH_MINUTES:
23188 case MAX_STORAGE_SIZE_MB:
23189 case DATA_FLUSH_INTERVAL_SECONDS:
23190 case CLEANUP_POLICY:
23191 case CUSTOM:
23192 case STALE_QUERY_THRESHOLD_DAYS:
23193 case OPERATION_MODE:
23194 case QUERY_STORE:
23195 case CURSOR_DEFAULT:
23196 case GLOBAL:
23197 case CURSOR_CLOSE_ON_COMMIT:
23198 case HOURS:
23199 case CHANGE_RETENTION:
23200 case AUTO_CLEANUP:
23201 case CHANGE_TRACKING:
23202 case AUTOMATIC_TUNING:
23203 case FORCE_LAST_GOOD_PLAN:
23204 case AUTO_UPDATE_STATISTICS_ASYNC:
23205 case AUTO_UPDATE_STATISTICS:
23206 case AUTO_SHRINK:
23207 case AUTO_CREATE_STATISTICS:
23208 case INCREMENTAL:
23209 case AUTO_CLOSE:
23210 case DATA_RETENTION:
23211 case TEMPORAL_HISTORY_RETENTION:
23212 case EDITION:
23213 case MIXED_PAGE_ALLOCATION:
23214 case DISABLED:
23215 case ALLOWED:
23216 case HADR:
23217 case MULTI_USER:
23218 case RESTRICTED_USER:
23219 case SINGLE_USER:
23220 case OFFLINE:
23221 case EMERGENCY:
23222 case SUSPEND:
23223 case DATE_CORRELATION_OPTIMIZATION:
23224 case ELASTIC_POOL:
23225 case SERVICE_OBJECTIVE:
23226 case DATABASE_NAME:
23227 case ALLOW_CONNECTIONS:
23228 case GEO:
23229 case NAMED:
23230 case DATEFIRST:
23231 case BACKUP_STORAGE_REDUNDANCY:
23232 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
23233 case SECONDARY:
23234 case FAILOVER:
23235 case DEFAULT_FULLTEXT_LANGUAGE:
23236 case DEFAULT_LANGUAGE:
23237 case INLINE:
23238 case NESTED_TRIGGERS:
23239 case TRANSFORM_NOISE_WORDS:
23240 case TWO_DIGIT_YEAR_CUTOFF:
23241 case PERSISTENT_LOG_BUFFER:
23242 case DIRECTORY_NAME:
23243 case DATEFORMAT:
23244 case DELAYED_DURABILITY:
23245 case AUTHORIZATION:
23246 case TRANSFER:
23247 case PROVIDER:
23248 case SID:
23249 case SEARCH:
23250 case MEMBER:
23251 case JSON:
23252 case IDENTIFIER_:
23253 case DELIMITED_IDENTIFIER_:
23254 {
23255 setState(3363);
23256 constraintName();
23257 }
23258 break;
23259 default:
23260 throw new NoViableAltException(this);
23261 }
23262 }
23263 }
23264 catch (RecognitionException re) {
23265 _localctx.exception = re;
23266 _errHandler.reportError(this, re);
23267 _errHandler.recover(this, re);
23268 }
23269 finally {
23270 exitRule();
23271 }
23272 return _localctx;
23273 }
23274
23275 public static class AlterTableTriggerContext extends ParserRuleContext {
23276 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
23277 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
23278 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
23279 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
23280 public IgnoredIdentifiersContext ignoredIdentifiers() {
23281 return getRuleContext(IgnoredIdentifiersContext.class,0);
23282 }
23283 public AlterTableTriggerContext(ParserRuleContext parent, int invokingState) {
23284 super(parent, invokingState);
23285 }
23286 @Override public int getRuleIndex() { return RULE_alterTableTrigger; }
23287 @Override
23288 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23289 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTrigger(this);
23290 else return visitor.visitChildren(this);
23291 }
23292 }
23293
23294 public final AlterTableTriggerContext alterTableTrigger() throws RecognitionException {
23295 AlterTableTriggerContext _localctx = new AlterTableTriggerContext(_ctx, getState());
23296 enterRule(_localctx, 486, RULE_alterTableTrigger);
23297 int _la;
23298 try {
23299 enterOuterAlt(_localctx, 1);
23300 {
23301 setState(3366);
23302 _la = _input.LA(1);
23303 if ( !(_la==ENABLE || _la==DISABLE) ) {
23304 _errHandler.recoverInline(this);
23305 }
23306 else {
23307 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23308 _errHandler.reportMatch(this);
23309 consume();
23310 }
23311 setState(3367);
23312 match(TRIGGER);
23313 setState(3370);
23314 _errHandler.sync(this);
23315 switch (_input.LA(1)) {
23316 case ALL:
23317 {
23318 setState(3368);
23319 match(ALL);
23320 }
23321 break;
23322 case IDENTIFIER_:
23323 {
23324 setState(3369);
23325 ignoredIdentifiers();
23326 }
23327 break;
23328 default:
23329 throw new NoViableAltException(this);
23330 }
23331 }
23332 }
23333 catch (RecognitionException re) {
23334 _localctx.exception = re;
23335 _errHandler.reportError(this, re);
23336 _errHandler.recover(this, re);
23337 }
23338 finally {
23339 exitRule();
23340 }
23341 return _localctx;
23342 }
23343
23344 public static class AlterSwitchContext extends ParserRuleContext {
23345 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
23346 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
23347 public TableNameContext tableName() {
23348 return getRuleContext(TableNameContext.class,0);
23349 }
23350 public List<TerminalNode> PARTITION() { return getTokens(SQLServerStatementParser.PARTITION); }
23351 public TerminalNode PARTITION(int i) {
23352 return getToken(SQLServerStatementParser.PARTITION, i);
23353 }
23354 public List<ExprContext> expr() {
23355 return getRuleContexts(ExprContext.class);
23356 }
23357 public ExprContext expr(int i) {
23358 return getRuleContext(ExprContext.class,i);
23359 }
23360 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
23361 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23362 public LowPriorityLockWaitContext lowPriorityLockWait() {
23363 return getRuleContext(LowPriorityLockWaitContext.class,0);
23364 }
23365 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23366 public AlterSwitchContext(ParserRuleContext parent, int invokingState) {
23367 super(parent, invokingState);
23368 }
23369 @Override public int getRuleIndex() { return RULE_alterSwitch; }
23370 @Override
23371 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23372 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSwitch(this);
23373 else return visitor.visitChildren(this);
23374 }
23375 }
23376
23377 public final AlterSwitchContext alterSwitch() throws RecognitionException {
23378 AlterSwitchContext _localctx = new AlterSwitchContext(_ctx, getState());
23379 enterRule(_localctx, 488, RULE_alterSwitch);
23380 int _la;
23381 try {
23382 enterOuterAlt(_localctx, 1);
23383 {
23384 setState(3372);
23385 match(SWITCH);
23386 setState(3375);
23387 _errHandler.sync(this);
23388 _la = _input.LA(1);
23389 if (_la==PARTITION) {
23390 {
23391 setState(3373);
23392 match(PARTITION);
23393 setState(3374);
23394 expr(0);
23395 }
23396 }
23397
23398 setState(3377);
23399 match(TO);
23400 setState(3378);
23401 tableName();
23402 setState(3381);
23403 _errHandler.sync(this);
23404 _la = _input.LA(1);
23405 if (_la==PARTITION) {
23406 {
23407 setState(3379);
23408 match(PARTITION);
23409 setState(3380);
23410 expr(0);
23411 }
23412 }
23413
23414 setState(3388);
23415 _errHandler.sync(this);
23416 switch ( getInterpreter().adaptivePredict(_input,311,_ctx) ) {
23417 case 1:
23418 {
23419 setState(3383);
23420 match(WITH);
23421 setState(3384);
23422 match(LP_);
23423 setState(3385);
23424 lowPriorityLockWait();
23425 setState(3386);
23426 match(RP_);
23427 }
23428 break;
23429 }
23430 }
23431 }
23432 catch (RecognitionException re) {
23433 _localctx.exception = re;
23434 _errHandler.reportError(this, re);
23435 _errHandler.recover(this, re);
23436 }
23437 finally {
23438 exitRule();
23439 }
23440 return _localctx;
23441 }
23442
23443 public static class AlterSetContext extends ParserRuleContext {
23444 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
23445 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23446 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23447 public SetFileStreamClauseContext setFileStreamClause() {
23448 return getRuleContext(SetFileStreamClauseContext.class,0);
23449 }
23450 public SetSystemVersionClauseContext setSystemVersionClause() {
23451 return getRuleContext(SetSystemVersionClauseContext.class,0);
23452 }
23453 public AlterSetContext(ParserRuleContext parent, int invokingState) {
23454 super(parent, invokingState);
23455 }
23456 @Override public int getRuleIndex() { return RULE_alterSet; }
23457 @Override
23458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23459 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSet(this);
23460 else return visitor.visitChildren(this);
23461 }
23462 }
23463
23464 public final AlterSetContext alterSet() throws RecognitionException {
23465 AlterSetContext _localctx = new AlterSetContext(_ctx, getState());
23466 enterRule(_localctx, 490, RULE_alterSet);
23467 try {
23468 enterOuterAlt(_localctx, 1);
23469 {
23470 setState(3390);
23471 match(SET);
23472 setState(3391);
23473 match(LP_);
23474 setState(3394);
23475 _errHandler.sync(this);
23476 switch (_input.LA(1)) {
23477 case FILESTREAM_ON:
23478 {
23479 setState(3392);
23480 setFileStreamClause();
23481 }
23482 break;
23483 case SYSTEM_VERSIONING:
23484 {
23485 setState(3393);
23486 setSystemVersionClause();
23487 }
23488 break;
23489 default:
23490 throw new NoViableAltException(this);
23491 }
23492 setState(3396);
23493 match(RP_);
23494 }
23495 }
23496 catch (RecognitionException re) {
23497 _localctx.exception = re;
23498 _errHandler.reportError(this, re);
23499 _errHandler.recover(this, re);
23500 }
23501 finally {
23502 exitRule();
23503 }
23504 return _localctx;
23505 }
23506
23507 public static class SetFileStreamClauseContext extends ParserRuleContext {
23508 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
23509 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23510 public SchemaNameContext schemaName() {
23511 return getRuleContext(SchemaNameContext.class,0);
23512 }
23513 public IgnoredIdentifierContext ignoredIdentifier() {
23514 return getRuleContext(IgnoredIdentifierContext.class,0);
23515 }
23516 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
23517 public SetFileStreamClauseContext(ParserRuleContext parent, int invokingState) {
23518 super(parent, invokingState);
23519 }
23520 @Override public int getRuleIndex() { return RULE_setFileStreamClause; }
23521 @Override
23522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23523 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetFileStreamClause(this);
23524 else return visitor.visitChildren(this);
23525 }
23526 }
23527
23528 public final SetFileStreamClauseContext setFileStreamClause() throws RecognitionException {
23529 SetFileStreamClauseContext _localctx = new SetFileStreamClauseContext(_ctx, getState());
23530 enterRule(_localctx, 492, RULE_setFileStreamClause);
23531 try {
23532 enterOuterAlt(_localctx, 1);
23533 {
23534 setState(3398);
23535 match(FILESTREAM_ON);
23536 setState(3399);
23537 match(EQ_);
23538 setState(3403);
23539 _errHandler.sync(this);
23540 switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) {
23541 case 1:
23542 {
23543 setState(3400);
23544 schemaName();
23545 }
23546 break;
23547 case 2:
23548 {
23549 setState(3401);
23550 ignoredIdentifier();
23551 }
23552 break;
23553 case 3:
23554 {
23555 setState(3402);
23556 match(STRING_);
23557 }
23558 break;
23559 }
23560 }
23561 }
23562 catch (RecognitionException re) {
23563 _localctx.exception = re;
23564 _errHandler.reportError(this, re);
23565 _errHandler.recover(this, re);
23566 }
23567 finally {
23568 exitRule();
23569 }
23570 return _localctx;
23571 }
23572
23573 public static class SetSystemVersionClauseContext extends ParserRuleContext {
23574 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
23575 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23576 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23577 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23578 public AlterSetOnClauseContext alterSetOnClause() {
23579 return getRuleContext(AlterSetOnClauseContext.class,0);
23580 }
23581 public SetSystemVersionClauseContext(ParserRuleContext parent, int invokingState) {
23582 super(parent, invokingState);
23583 }
23584 @Override public int getRuleIndex() { return RULE_setSystemVersionClause; }
23585 @Override
23586 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23587 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetSystemVersionClause(this);
23588 else return visitor.visitChildren(this);
23589 }
23590 }
23591
23592 public final SetSystemVersionClauseContext setSystemVersionClause() throws RecognitionException {
23593 SetSystemVersionClauseContext _localctx = new SetSystemVersionClauseContext(_ctx, getState());
23594 enterRule(_localctx, 494, RULE_setSystemVersionClause);
23595 int _la;
23596 try {
23597 enterOuterAlt(_localctx, 1);
23598 {
23599 setState(3405);
23600 match(SYSTEM_VERSIONING);
23601 setState(3406);
23602 match(EQ_);
23603 setState(3412);
23604 _errHandler.sync(this);
23605 switch (_input.LA(1)) {
23606 case OFF:
23607 {
23608 setState(3407);
23609 match(OFF);
23610 }
23611 break;
23612 case ON:
23613 {
23614 setState(3408);
23615 match(ON);
23616 setState(3410);
23617 _errHandler.sync(this);
23618 _la = _input.LA(1);
23619 if (_la==LP_) {
23620 {
23621 setState(3409);
23622 alterSetOnClause();
23623 }
23624 }
23625
23626 }
23627 break;
23628 default:
23629 throw new NoViableAltException(this);
23630 }
23631 }
23632 }
23633 catch (RecognitionException re) {
23634 _localctx.exception = re;
23635 _errHandler.reportError(this, re);
23636 _errHandler.recover(this, re);
23637 }
23638 finally {
23639 exitRule();
23640 }
23641 return _localctx;
23642 }
23643
23644 public static class AlterSetOnClauseContext extends ParserRuleContext {
23645 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23646 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23647 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
23648 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23649 public TableNameContext tableName() {
23650 return getRuleContext(TableNameContext.class,0);
23651 }
23652 public DataConsistencyCheckClauseContext dataConsistencyCheckClause() {
23653 return getRuleContext(DataConsistencyCheckClauseContext.class,0);
23654 }
23655 public HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() {
23656 return getRuleContext(HistoryRetentionPeriodClauseContext.class,0);
23657 }
23658 public AlterSetOnClauseContext(ParserRuleContext parent, int invokingState) {
23659 super(parent, invokingState);
23660 }
23661 @Override public int getRuleIndex() { return RULE_alterSetOnClause; }
23662 @Override
23663 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23664 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSetOnClause(this);
23665 else return visitor.visitChildren(this);
23666 }
23667 }
23668
23669 public final AlterSetOnClauseContext alterSetOnClause() throws RecognitionException {
23670 AlterSetOnClauseContext _localctx = new AlterSetOnClauseContext(_ctx, getState());
23671 enterRule(_localctx, 496, RULE_alterSetOnClause);
23672 int _la;
23673 try {
23674 enterOuterAlt(_localctx, 1);
23675 {
23676 setState(3414);
23677 match(LP_);
23678 setState(3418);
23679 _errHandler.sync(this);
23680 _la = _input.LA(1);
23681 if (_la==HISTORY_TABLE) {
23682 {
23683 setState(3415);
23684 match(HISTORY_TABLE);
23685 setState(3416);
23686 match(EQ_);
23687 setState(3417);
23688 tableName();
23689 }
23690 }
23691
23692 setState(3421);
23693 _errHandler.sync(this);
23694 switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) {
23695 case 1:
23696 {
23697 setState(3420);
23698 dataConsistencyCheckClause();
23699 }
23700 break;
23701 }
23702 setState(3424);
23703 _errHandler.sync(this);
23704 _la = _input.LA(1);
23705 if (_la==COMMA_ || _la==HISTORY_RETENTION_PERIOD) {
23706 {
23707 setState(3423);
23708 historyRetentionPeriodClause();
23709 }
23710 }
23711
23712 setState(3426);
23713 match(RP_);
23714 }
23715 }
23716 catch (RecognitionException re) {
23717 _localctx.exception = re;
23718 _errHandler.reportError(this, re);
23719 _errHandler.recover(this, re);
23720 }
23721 finally {
23722 exitRule();
23723 }
23724 return _localctx;
23725 }
23726
23727 public static class DataConsistencyCheckClauseContext extends ParserRuleContext {
23728 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
23729 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23730 public OnOffOptionContext onOffOption() {
23731 return getRuleContext(OnOffOptionContext.class,0);
23732 }
23733 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23734 public DataConsistencyCheckClauseContext(ParserRuleContext parent, int invokingState) {
23735 super(parent, invokingState);
23736 }
23737 @Override public int getRuleIndex() { return RULE_dataConsistencyCheckClause; }
23738 @Override
23739 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23740 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataConsistencyCheckClause(this);
23741 else return visitor.visitChildren(this);
23742 }
23743 }
23744
23745 public final DataConsistencyCheckClauseContext dataConsistencyCheckClause() throws RecognitionException {
23746 DataConsistencyCheckClauseContext _localctx = new DataConsistencyCheckClauseContext(_ctx, getState());
23747 enterRule(_localctx, 498, RULE_dataConsistencyCheckClause);
23748 int _la;
23749 try {
23750 enterOuterAlt(_localctx, 1);
23751 {
23752 setState(3429);
23753 _errHandler.sync(this);
23754 _la = _input.LA(1);
23755 if (_la==COMMA_) {
23756 {
23757 setState(3428);
23758 match(COMMA_);
23759 }
23760 }
23761
23762 setState(3431);
23763 match(DATA_CONSISTENCY_CHECK);
23764 setState(3432);
23765 match(EQ_);
23766 setState(3433);
23767 onOffOption();
23768 }
23769 }
23770 catch (RecognitionException re) {
23771 _localctx.exception = re;
23772 _errHandler.reportError(this, re);
23773 _errHandler.recover(this, re);
23774 }
23775 finally {
23776 exitRule();
23777 }
23778 return _localctx;
23779 }
23780
23781 public static class HistoryRetentionPeriodClauseContext extends ParserRuleContext {
23782 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
23783 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23784 public HistoryRetentionPeriodContext historyRetentionPeriod() {
23785 return getRuleContext(HistoryRetentionPeriodContext.class,0);
23786 }
23787 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23788 public HistoryRetentionPeriodClauseContext(ParserRuleContext parent, int invokingState) {
23789 super(parent, invokingState);
23790 }
23791 @Override public int getRuleIndex() { return RULE_historyRetentionPeriodClause; }
23792 @Override
23793 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23794 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriodClause(this);
23795 else return visitor.visitChildren(this);
23796 }
23797 }
23798
23799 public final HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() throws RecognitionException {
23800 HistoryRetentionPeriodClauseContext _localctx = new HistoryRetentionPeriodClauseContext(_ctx, getState());
23801 enterRule(_localctx, 500, RULE_historyRetentionPeriodClause);
23802 int _la;
23803 try {
23804 enterOuterAlt(_localctx, 1);
23805 {
23806 setState(3436);
23807 _errHandler.sync(this);
23808 _la = _input.LA(1);
23809 if (_la==COMMA_) {
23810 {
23811 setState(3435);
23812 match(COMMA_);
23813 }
23814 }
23815
23816 setState(3438);
23817 match(HISTORY_RETENTION_PERIOD);
23818 setState(3439);
23819 match(EQ_);
23820 setState(3440);
23821 historyRetentionPeriod();
23822 }
23823 }
23824 catch (RecognitionException re) {
23825 _localctx.exception = re;
23826 _errHandler.reportError(this, re);
23827 _errHandler.recover(this, re);
23828 }
23829 finally {
23830 exitRule();
23831 }
23832 return _localctx;
23833 }
23834
23835 public static class HistoryRetentionPeriodContext extends ParserRuleContext {
23836 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
23837 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
23838 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
23839 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
23840 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
23841 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
23842 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
23843 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
23844 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
23845 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
23846 public HistoryRetentionPeriodContext(ParserRuleContext parent, int invokingState) {
23847 super(parent, invokingState);
23848 }
23849 @Override public int getRuleIndex() { return RULE_historyRetentionPeriod; }
23850 @Override
23851 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23852 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriod(this);
23853 else return visitor.visitChildren(this);
23854 }
23855 }
23856
23857 public final HistoryRetentionPeriodContext historyRetentionPeriod() throws RecognitionException {
23858 HistoryRetentionPeriodContext _localctx = new HistoryRetentionPeriodContext(_ctx, getState());
23859 enterRule(_localctx, 502, RULE_historyRetentionPeriod);
23860 int _la;
23861 try {
23862 setState(3445);
23863 _errHandler.sync(this);
23864 switch (_input.LA(1)) {
23865 case INFINITE:
23866 enterOuterAlt(_localctx, 1);
23867 {
23868 setState(3442);
23869 match(INFINITE);
23870 }
23871 break;
23872 case NUMBER_:
23873 enterOuterAlt(_localctx, 2);
23874 {
23875 {
23876 setState(3443);
23877 match(NUMBER_);
23878 setState(3444);
23879 _la = _input.LA(1);
23880 if ( !(((((_la - 140)) & ~0x3f) == 0 && ((1L << (_la - 140)) & ((1L << (YEAR - 140)) | (1L << (MONTH - 140)) | (1L << (WEEK - 140)) | (1L << (DAY - 140)))) != 0) || ((((_la - 275)) & ~0x3f) == 0 && ((1L << (_la - 275)) & ((1L << (YEARS - 275)) | (1L << (MONTHS - 275)) | (1L << (WEEKS - 275)) | (1L << (DAYS - 275)))) != 0)) ) {
23881 _errHandler.recoverInline(this);
23882 }
23883 else {
23884 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23885 _errHandler.reportMatch(this);
23886 consume();
23887 }
23888 }
23889 }
23890 break;
23891 default:
23892 throw new NoViableAltException(this);
23893 }
23894 }
23895 catch (RecognitionException re) {
23896 _localctx.exception = re;
23897 _errHandler.reportError(this, re);
23898 _errHandler.recover(this, re);
23899 }
23900 finally {
23901 exitRule();
23902 }
23903 return _localctx;
23904 }
23905
23906 public static class AlterTableTableIndexContext extends ParserRuleContext {
23907 public IndexWithNameContext indexWithName() {
23908 return getRuleContext(IndexWithNameContext.class,0);
23909 }
23910 public IndexNonClusterClauseContext indexNonClusterClause() {
23911 return getRuleContext(IndexNonClusterClauseContext.class,0);
23912 }
23913 public IndexClusterClauseContext indexClusterClause() {
23914 return getRuleContext(IndexClusterClauseContext.class,0);
23915 }
23916 public AlterTableTableIndexContext(ParserRuleContext parent, int invokingState) {
23917 super(parent, invokingState);
23918 }
23919 @Override public int getRuleIndex() { return RULE_alterTableTableIndex; }
23920 @Override
23921 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23922 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTableIndex(this);
23923 else return visitor.visitChildren(this);
23924 }
23925 }
23926
23927 public final AlterTableTableIndexContext alterTableTableIndex() throws RecognitionException {
23928 AlterTableTableIndexContext _localctx = new AlterTableTableIndexContext(_ctx, getState());
23929 enterRule(_localctx, 504, RULE_alterTableTableIndex);
23930 try {
23931 enterOuterAlt(_localctx, 1);
23932 {
23933 setState(3447);
23934 indexWithName();
23935 setState(3450);
23936 _errHandler.sync(this);
23937 switch (_input.LA(1)) {
23938 case NONCLUSTERED:
23939 {
23940 setState(3448);
23941 indexNonClusterClause();
23942 }
23943 break;
23944 case CLUSTERED:
23945 {
23946 setState(3449);
23947 indexClusterClause();
23948 }
23949 break;
23950 default:
23951 throw new NoViableAltException(this);
23952 }
23953 }
23954 }
23955 catch (RecognitionException re) {
23956 _localctx.exception = re;
23957 _errHandler.reportError(this, re);
23958 _errHandler.recover(this, re);
23959 }
23960 finally {
23961 exitRule();
23962 }
23963 return _localctx;
23964 }
23965
23966 public static class IndexWithNameContext extends ParserRuleContext {
23967 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
23968 public IndexNameContext indexName() {
23969 return getRuleContext(IndexNameContext.class,0);
23970 }
23971 public IndexWithNameContext(ParserRuleContext parent, int invokingState) {
23972 super(parent, invokingState);
23973 }
23974 @Override public int getRuleIndex() { return RULE_indexWithName; }
23975 @Override
23976 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23977 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexWithName(this);
23978 else return visitor.visitChildren(this);
23979 }
23980 }
23981
23982 public final IndexWithNameContext indexWithName() throws RecognitionException {
23983 IndexWithNameContext _localctx = new IndexWithNameContext(_ctx, getState());
23984 enterRule(_localctx, 506, RULE_indexWithName);
23985 try {
23986 enterOuterAlt(_localctx, 1);
23987 {
23988 setState(3452);
23989 match(INDEX);
23990 setState(3453);
23991 indexName();
23992 }
23993 }
23994 catch (RecognitionException re) {
23995 _localctx.exception = re;
23996 _errHandler.reportError(this, re);
23997 _errHandler.recover(this, re);
23998 }
23999 finally {
24000 exitRule();
24001 }
24002 return _localctx;
24003 }
24004
24005 public static class IndexNonClusterClauseContext extends ParserRuleContext {
24006 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
24007 public HashWithBucketContext hashWithBucket() {
24008 return getRuleContext(HashWithBucketContext.class,0);
24009 }
24010 public ColumnNamesWithSortContext columnNamesWithSort() {
24011 return getRuleContext(ColumnNamesWithSortContext.class,0);
24012 }
24013 public AlterTableIndexOnClauseContext alterTableIndexOnClause() {
24014 return getRuleContext(AlterTableIndexOnClauseContext.class,0);
24015 }
24016 public IndexNonClusterClauseContext(ParserRuleContext parent, int invokingState) {
24017 super(parent, invokingState);
24018 }
24019 @Override public int getRuleIndex() { return RULE_indexNonClusterClause; }
24020 @Override
24021 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24022 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNonClusterClause(this);
24023 else return visitor.visitChildren(this);
24024 }
24025 }
24026
24027 public final IndexNonClusterClauseContext indexNonClusterClause() throws RecognitionException {
24028 IndexNonClusterClauseContext _localctx = new IndexNonClusterClauseContext(_ctx, getState());
24029 enterRule(_localctx, 508, RULE_indexNonClusterClause);
24030 int _la;
24031 try {
24032 enterOuterAlt(_localctx, 1);
24033 {
24034 setState(3455);
24035 match(NONCLUSTERED);
24036 setState(3461);
24037 _errHandler.sync(this);
24038 switch (_input.LA(1)) {
24039 case HASH:
24040 {
24041 setState(3456);
24042 hashWithBucket();
24043 }
24044 break;
24045 case LP_:
24046 {
24047 setState(3457);
24048 columnNamesWithSort();
24049 setState(3459);
24050 _errHandler.sync(this);
24051 _la = _input.LA(1);
24052 if (_la==ON || _la==DEFAULT) {
24053 {
24054 setState(3458);
24055 alterTableIndexOnClause();
24056 }
24057 }
24058
24059 }
24060 break;
24061 default:
24062 throw new NoViableAltException(this);
24063 }
24064 }
24065 }
24066 catch (RecognitionException re) {
24067 _localctx.exception = re;
24068 _errHandler.reportError(this, re);
24069 _errHandler.recover(this, re);
24070 }
24071 finally {
24072 exitRule();
24073 }
24074 return _localctx;
24075 }
24076
24077 public static class AlterTableIndexOnClauseContext extends ParserRuleContext {
24078 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24079 public IgnoredIdentifierContext ignoredIdentifier() {
24080 return getRuleContext(IgnoredIdentifierContext.class,0);
24081 }
24082 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
24083 public AlterTableIndexOnClauseContext(ParserRuleContext parent, int invokingState) {
24084 super(parent, invokingState);
24085 }
24086 @Override public int getRuleIndex() { return RULE_alterTableIndexOnClause; }
24087 @Override
24088 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24089 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableIndexOnClause(this);
24090 else return visitor.visitChildren(this);
24091 }
24092 }
24093
24094 public final AlterTableIndexOnClauseContext alterTableIndexOnClause() throws RecognitionException {
24095 AlterTableIndexOnClauseContext _localctx = new AlterTableIndexOnClauseContext(_ctx, getState());
24096 enterRule(_localctx, 510, RULE_alterTableIndexOnClause);
24097 try {
24098 setState(3466);
24099 _errHandler.sync(this);
24100 switch (_input.LA(1)) {
24101 case ON:
24102 enterOuterAlt(_localctx, 1);
24103 {
24104 setState(3463);
24105 match(ON);
24106 setState(3464);
24107 ignoredIdentifier();
24108 }
24109 break;
24110 case DEFAULT:
24111 enterOuterAlt(_localctx, 2);
24112 {
24113 setState(3465);
24114 match(DEFAULT);
24115 }
24116 break;
24117 default:
24118 throw new NoViableAltException(this);
24119 }
24120 }
24121 catch (RecognitionException re) {
24122 _localctx.exception = re;
24123 _errHandler.reportError(this, re);
24124 _errHandler.recover(this, re);
24125 }
24126 finally {
24127 exitRule();
24128 }
24129 return _localctx;
24130 }
24131
24132 public static class IndexClusterClauseContext extends ParserRuleContext {
24133 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
24134 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
24135 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
24136 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
24137 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24138 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
24139 public IndexOnClauseContext indexOnClause() {
24140 return getRuleContext(IndexOnClauseContext.class,0);
24141 }
24142 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
24143 public IndexClusterClauseContext(ParserRuleContext parent, int invokingState) {
24144 super(parent, invokingState);
24145 }
24146 @Override public int getRuleIndex() { return RULE_indexClusterClause; }
24147 @Override
24148 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24149 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexClusterClause(this);
24150 else return visitor.visitChildren(this);
24151 }
24152 }
24153
24154 public final IndexClusterClauseContext indexClusterClause() throws RecognitionException {
24155 IndexClusterClauseContext _localctx = new IndexClusterClauseContext(_ctx, getState());
24156 enterRule(_localctx, 512, RULE_indexClusterClause);
24157 int _la;
24158 try {
24159 enterOuterAlt(_localctx, 1);
24160 {
24161 setState(3468);
24162 match(CLUSTERED);
24163 setState(3469);
24164 match(COLUMNSTORE);
24165 setState(3477);
24166 _errHandler.sync(this);
24167 switch ( getInterpreter().adaptivePredict(_input,327,_ctx) ) {
24168 case 1:
24169 {
24170 setState(3470);
24171 match(WITH);
24172 setState(3471);
24173 match(COMPRESSION_DELAY);
24174 setState(3472);
24175 match(EQ_);
24176 setState(3473);
24177 match(NUMBER_);
24178 setState(3475);
24179 _errHandler.sync(this);
24180 _la = _input.LA(1);
24181 if (_la==MINUTES) {
24182 {
24183 setState(3474);
24184 match(MINUTES);
24185 }
24186 }
24187
24188 }
24189 break;
24190 }
24191 setState(3480);
24192 _errHandler.sync(this);
24193 _la = _input.LA(1);
24194 if (_la==ON) {
24195 {
24196 setState(3479);
24197 indexOnClause();
24198 }
24199 }
24200
24201 }
24202 }
24203 catch (RecognitionException re) {
24204 _localctx.exception = re;
24205 _errHandler.reportError(this, re);
24206 _errHandler.recover(this, re);
24207 }
24208 finally {
24209 exitRule();
24210 }
24211 return _localctx;
24212 }
24213
24214 public static class AlterTableOptionContext extends ParserRuleContext {
24215 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
24216 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24217 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
24218 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24219 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24220 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
24221 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
24222 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
24223 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
24224 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24225 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
24226 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
24227 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
24228 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
24229 public OnHistoryTableClauseContext onHistoryTableClause() {
24230 return getRuleContext(OnHistoryTableClauseContext.class,0);
24231 }
24232 public AlterTableOptionContext(ParserRuleContext parent, int invokingState) {
24233 super(parent, invokingState);
24234 }
24235 @Override public int getRuleIndex() { return RULE_alterTableOption; }
24236 @Override
24237 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24238 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableOption(this);
24239 else return visitor.visitChildren(this);
24240 }
24241 }
24242
24243 public final AlterTableOptionContext alterTableOption() throws RecognitionException {
24244 AlterTableOptionContext _localctx = new AlterTableOptionContext(_ctx, getState());
24245 enterRule(_localctx, 514, RULE_alterTableOption);
24246 int _la;
24247 try {
24248 setState(3500);
24249 _errHandler.sync(this);
24250 switch (_input.LA(1)) {
24251 case SET:
24252 enterOuterAlt(_localctx, 1);
24253 {
24254 setState(3482);
24255 match(SET);
24256 setState(3483);
24257 match(LP_);
24258 setState(3484);
24259 match(LOCK_ESCALATION);
24260 setState(3485);
24261 match(EQ_);
24262 setState(3486);
24263 _la = _input.LA(1);
24264 if ( !(_la==TABLE || _la==DISABLE || _la==AUTO) ) {
24265 _errHandler.recoverInline(this);
24266 }
24267 else {
24268 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24269 _errHandler.reportMatch(this);
24270 consume();
24271 }
24272 setState(3487);
24273 match(RP_);
24274 }
24275 break;
24276 case MEMORY_OPTIMIZED:
24277 enterOuterAlt(_localctx, 2);
24278 {
24279 setState(3488);
24280 match(MEMORY_OPTIMIZED);
24281 setState(3489);
24282 match(EQ_);
24283 setState(3490);
24284 match(ON);
24285 }
24286 break;
24287 case DURABILITY:
24288 enterOuterAlt(_localctx, 3);
24289 {
24290 setState(3491);
24291 match(DURABILITY);
24292 setState(3492);
24293 match(EQ_);
24294 setState(3493);
24295 _la = _input.LA(1);
24296 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
24297 _errHandler.recoverInline(this);
24298 }
24299 else {
24300 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24301 _errHandler.reportMatch(this);
24302 consume();
24303 }
24304 }
24305 break;
24306 case SYSTEM_VERSIONING:
24307 enterOuterAlt(_localctx, 4);
24308 {
24309 setState(3494);
24310 match(SYSTEM_VERSIONING);
24311 setState(3495);
24312 match(EQ_);
24313 setState(3496);
24314 match(ON);
24315 setState(3498);
24316 _errHandler.sync(this);
24317 _la = _input.LA(1);
24318 if (_la==LP_) {
24319 {
24320 setState(3497);
24321 onHistoryTableClause();
24322 }
24323 }
24324
24325 }
24326 break;
24327 default:
24328 throw new NoViableAltException(this);
24329 }
24330 }
24331 catch (RecognitionException re) {
24332 _localctx.exception = re;
24333 _errHandler.reportError(this, re);
24334 _errHandler.recover(this, re);
24335 }
24336 finally {
24337 exitRule();
24338 }
24339 return _localctx;
24340 }
24341
24342 public static class OnHistoryTableClauseContext extends ParserRuleContext {
24343 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24344 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
24345 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24346 public TerminalNode EQ_(int i) {
24347 return getToken(SQLServerStatementParser.EQ_, i);
24348 }
24349 public TableNameContext tableName() {
24350 return getRuleContext(TableNameContext.class,0);
24351 }
24352 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24353 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24354 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
24355 public OnOffOptionContext onOffOption() {
24356 return getRuleContext(OnOffOptionContext.class,0);
24357 }
24358 public OnHistoryTableClauseContext(ParserRuleContext parent, int invokingState) {
24359 super(parent, invokingState);
24360 }
24361 @Override public int getRuleIndex() { return RULE_onHistoryTableClause; }
24362 @Override
24363 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24364 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnHistoryTableClause(this);
24365 else return visitor.visitChildren(this);
24366 }
24367 }
24368
24369 public final OnHistoryTableClauseContext onHistoryTableClause() throws RecognitionException {
24370 OnHistoryTableClauseContext _localctx = new OnHistoryTableClauseContext(_ctx, getState());
24371 enterRule(_localctx, 516, RULE_onHistoryTableClause);
24372 int _la;
24373 try {
24374 enterOuterAlt(_localctx, 1);
24375 {
24376 setState(3502);
24377 match(LP_);
24378 setState(3503);
24379 match(HISTORY_TABLE);
24380 setState(3504);
24381 match(EQ_);
24382 setState(3505);
24383 tableName();
24384 setState(3510);
24385 _errHandler.sync(this);
24386 _la = _input.LA(1);
24387 if (_la==COMMA_) {
24388 {
24389 setState(3506);
24390 match(COMMA_);
24391 setState(3507);
24392 match(DATA_CONSISTENCY_CHECK);
24393 setState(3508);
24394 match(EQ_);
24395 setState(3509);
24396 onOffOption();
24397 }
24398 }
24399
24400 setState(3512);
24401 match(RP_);
24402 }
24403 }
24404 catch (RecognitionException re) {
24405 _localctx.exception = re;
24406 _errHandler.reportError(this, re);
24407 _errHandler.recover(this, re);
24408 }
24409 finally {
24410 exitRule();
24411 }
24412 return _localctx;
24413 }
24414
24415 public static class CreateDatabaseClauseContext extends ParserRuleContext {
24416 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
24417 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24418 public FileDefinitionClauseContext fileDefinitionClause() {
24419 return getRuleContext(FileDefinitionClauseContext.class,0);
24420 }
24421 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
24422 public IgnoredIdentifierContext ignoredIdentifier() {
24423 return getRuleContext(IgnoredIdentifierContext.class,0);
24424 }
24425 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
24426 public List<DatabaseOptionContext> databaseOption() {
24427 return getRuleContexts(DatabaseOptionContext.class);
24428 }
24429 public DatabaseOptionContext databaseOption(int i) {
24430 return getRuleContext(DatabaseOptionContext.class,i);
24431 }
24432 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
24433 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
24434 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24435 public TerminalNode COMMA_(int i) {
24436 return getToken(SQLServerStatementParser.COMMA_, i);
24437 }
24438 public CreateDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
24439 super(parent, invokingState);
24440 }
24441 @Override public int getRuleIndex() { return RULE_createDatabaseClause; }
24442 @Override
24443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabaseClause(this);
24445 else return visitor.visitChildren(this);
24446 }
24447 }
24448
24449 public final CreateDatabaseClauseContext createDatabaseClause() throws RecognitionException {
24450 CreateDatabaseClauseContext _localctx = new CreateDatabaseClauseContext(_ctx, getState());
24451 enterRule(_localctx, 518, RULE_createDatabaseClause);
24452 int _la;
24453 try {
24454 enterOuterAlt(_localctx, 1);
24455 {
24456 setState(3517);
24457 _errHandler.sync(this);
24458 _la = _input.LA(1);
24459 if (_la==CONTAINMENT) {
24460 {
24461 setState(3514);
24462 match(CONTAINMENT);
24463 setState(3515);
24464 match(EQ_);
24465 setState(3516);
24466 _la = _input.LA(1);
24467 if ( !(_la==NONE || _la==PARTIAL) ) {
24468 _errHandler.recoverInline(this);
24469 }
24470 else {
24471 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24472 _errHandler.reportMatch(this);
24473 consume();
24474 }
24475 }
24476 }
24477
24478 setState(3520);
24479 _errHandler.sync(this);
24480 _la = _input.LA(1);
24481 if (_la==ON) {
24482 {
24483 setState(3519);
24484 fileDefinitionClause();
24485 }
24486 }
24487
24488 setState(3524);
24489 _errHandler.sync(this);
24490 _la = _input.LA(1);
24491 if (_la==COLLATE) {
24492 {
24493 setState(3522);
24494 match(COLLATE);
24495 setState(3523);
24496 ignoredIdentifier();
24497 }
24498 }
24499
24500 setState(3535);
24501 _errHandler.sync(this);
24502 _la = _input.LA(1);
24503 if (_la==WITH) {
24504 {
24505 setState(3526);
24506 match(WITH);
24507 setState(3527);
24508 databaseOption();
24509 setState(3532);
24510 _errHandler.sync(this);
24511 _la = _input.LA(1);
24512 while (_la==COMMA_) {
24513 {
24514 {
24515 setState(3528);
24516 match(COMMA_);
24517 setState(3529);
24518 databaseOption();
24519 }
24520 }
24521 setState(3534);
24522 _errHandler.sync(this);
24523 _la = _input.LA(1);
24524 }
24525 }
24526 }
24527
24528 }
24529 }
24530 catch (RecognitionException re) {
24531 _localctx.exception = re;
24532 _errHandler.reportError(this, re);
24533 _errHandler.recover(this, re);
24534 }
24535 finally {
24536 exitRule();
24537 }
24538 return _localctx;
24539 }
24540
24541 public static class FileDefinitionClauseContext extends ParserRuleContext {
24542 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24543 public List<FileSpecContext> fileSpec() {
24544 return getRuleContexts(FileSpecContext.class);
24545 }
24546 public FileSpecContext fileSpec(int i) {
24547 return getRuleContext(FileSpecContext.class,i);
24548 }
24549 public DatabaseLogOnsContext databaseLogOns() {
24550 return getRuleContext(DatabaseLogOnsContext.class,0);
24551 }
24552 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24553 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24554 public TerminalNode COMMA_(int i) {
24555 return getToken(SQLServerStatementParser.COMMA_, i);
24556 }
24557 public List<DatabaseFileGroupContext> databaseFileGroup() {
24558 return getRuleContexts(DatabaseFileGroupContext.class);
24559 }
24560 public DatabaseFileGroupContext databaseFileGroup(int i) {
24561 return getRuleContext(DatabaseFileGroupContext.class,i);
24562 }
24563 public FileDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
24564 super(parent, invokingState);
24565 }
24566 @Override public int getRuleIndex() { return RULE_fileDefinitionClause; }
24567 @Override
24568 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24569 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileDefinitionClause(this);
24570 else return visitor.visitChildren(this);
24571 }
24572 }
24573
24574 public final FileDefinitionClauseContext fileDefinitionClause() throws RecognitionException {
24575 FileDefinitionClauseContext _localctx = new FileDefinitionClauseContext(_ctx, getState());
24576 enterRule(_localctx, 520, RULE_fileDefinitionClause);
24577 int _la;
24578 try {
24579 int _alt;
24580 enterOuterAlt(_localctx, 1);
24581 {
24582 setState(3537);
24583 match(ON);
24584 setState(3539);
24585 _errHandler.sync(this);
24586 _la = _input.LA(1);
24587 if (_la==PRIMARY) {
24588 {
24589 setState(3538);
24590 match(PRIMARY);
24591 }
24592 }
24593
24594 setState(3541);
24595 fileSpec();
24596 setState(3546);
24597 _errHandler.sync(this);
24598 _alt = getInterpreter().adaptivePredict(_input,338,_ctx);
24599 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
24600 if ( _alt==1 ) {
24601 {
24602 {
24603 setState(3542);
24604 match(COMMA_);
24605 setState(3543);
24606 fileSpec();
24607 }
24608 }
24609 }
24610 setState(3548);
24611 _errHandler.sync(this);
24612 _alt = getInterpreter().adaptivePredict(_input,338,_ctx);
24613 }
24614 setState(3553);
24615 _errHandler.sync(this);
24616 _la = _input.LA(1);
24617 while (_la==COMMA_) {
24618 {
24619 {
24620 setState(3549);
24621 match(COMMA_);
24622 setState(3550);
24623 databaseFileGroup();
24624 }
24625 }
24626 setState(3555);
24627 _errHandler.sync(this);
24628 _la = _input.LA(1);
24629 }
24630 setState(3556);
24631 databaseLogOns();
24632 }
24633 }
24634 catch (RecognitionException re) {
24635 _localctx.exception = re;
24636 _errHandler.reportError(this, re);
24637 _errHandler.recover(this, re);
24638 }
24639 finally {
24640 exitRule();
24641 }
24642 return _localctx;
24643 }
24644
24645 public static class DatabaseOptionContext extends ParserRuleContext {
24646 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
24647 public List<FileStreamOptionContext> fileStreamOption() {
24648 return getRuleContexts(FileStreamOptionContext.class);
24649 }
24650 public FileStreamOptionContext fileStreamOption(int i) {
24651 return getRuleContext(FileStreamOptionContext.class,i);
24652 }
24653 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24654 public TerminalNode COMMA_(int i) {
24655 return getToken(SQLServerStatementParser.COMMA_, i);
24656 }
24657 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
24658 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24659 public TerminalNode EQ_(int i) {
24660 return getToken(SQLServerStatementParser.EQ_, i);
24661 }
24662 public IgnoredIdentifierContext ignoredIdentifier() {
24663 return getRuleContext(IgnoredIdentifierContext.class,0);
24664 }
24665 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
24666 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
24667 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
24668 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24669 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
24670 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
24671 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
24672 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
24673 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
24674 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
24675 public DatabaseOptionContext(ParserRuleContext parent, int invokingState) {
24676 super(parent, invokingState);
24677 }
24678 @Override public int getRuleIndex() { return RULE_databaseOption; }
24679 @Override
24680 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24681 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseOption(this);
24682 else return visitor.visitChildren(this);
24683 }
24684 }
24685
24686 public final DatabaseOptionContext databaseOption() throws RecognitionException {
24687 DatabaseOptionContext _localctx = new DatabaseOptionContext(_ctx, getState());
24688 enterRule(_localctx, 522, RULE_databaseOption);
24689 int _la;
24690 try {
24691 int _alt;
24692 setState(3592);
24693 _errHandler.sync(this);
24694 switch (_input.LA(1)) {
24695 case FILESTREAM:
24696 enterOuterAlt(_localctx, 1);
24697 {
24698 setState(3558);
24699 match(FILESTREAM);
24700 setState(3559);
24701 fileStreamOption();
24702 setState(3564);
24703 _errHandler.sync(this);
24704 _alt = getInterpreter().adaptivePredict(_input,340,_ctx);
24705 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
24706 if ( _alt==1 ) {
24707 {
24708 {
24709 setState(3560);
24710 match(COMMA_);
24711 setState(3561);
24712 fileStreamOption();
24713 }
24714 }
24715 }
24716 setState(3566);
24717 _errHandler.sync(this);
24718 _alt = getInterpreter().adaptivePredict(_input,340,_ctx);
24719 }
24720 }
24721 break;
24722 case DEFAULT_FULLTEXT_LANGUAGE:
24723 enterOuterAlt(_localctx, 2);
24724 {
24725 setState(3567);
24726 match(DEFAULT_FULLTEXT_LANGUAGE);
24727 setState(3568);
24728 match(EQ_);
24729 setState(3569);
24730 ignoredIdentifier();
24731 }
24732 break;
24733 case DEFAULT_LANGUAGE:
24734 enterOuterAlt(_localctx, 3);
24735 {
24736 setState(3570);
24737 match(DEFAULT_LANGUAGE);
24738 setState(3571);
24739 match(EQ_);
24740 setState(3572);
24741 ignoredIdentifier();
24742 }
24743 break;
24744 case NESTED_TRIGGERS:
24745 enterOuterAlt(_localctx, 4);
24746 {
24747 setState(3573);
24748 match(NESTED_TRIGGERS);
24749 setState(3574);
24750 match(EQ_);
24751 setState(3575);
24752 _la = _input.LA(1);
24753 if ( !(_la==ON || _la==OFF) ) {
24754 _errHandler.recoverInline(this);
24755 }
24756 else {
24757 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24758 _errHandler.reportMatch(this);
24759 consume();
24760 }
24761 }
24762 break;
24763 case TRANSFORM_NOISE_WORDS:
24764 enterOuterAlt(_localctx, 5);
24765 {
24766 setState(3576);
24767 match(TRANSFORM_NOISE_WORDS);
24768 setState(3577);
24769 match(EQ_);
24770 setState(3578);
24771 _la = _input.LA(1);
24772 if ( !(_la==ON || _la==OFF) ) {
24773 _errHandler.recoverInline(this);
24774 }
24775 else {
24776 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24777 _errHandler.reportMatch(this);
24778 consume();
24779 }
24780 }
24781 break;
24782 case TWO_DIGIT_YEAR_CUTOFF:
24783 enterOuterAlt(_localctx, 6);
24784 {
24785 setState(3579);
24786 match(TWO_DIGIT_YEAR_CUTOFF);
24787 setState(3580);
24788 match(EQ_);
24789 setState(3581);
24790 ignoredIdentifier();
24791 }
24792 break;
24793 case DB_CHAINING:
24794 enterOuterAlt(_localctx, 7);
24795 {
24796 setState(3582);
24797 match(DB_CHAINING);
24798 setState(3583);
24799 _la = _input.LA(1);
24800 if ( !(_la==ON || _la==OFF) ) {
24801 _errHandler.recoverInline(this);
24802 }
24803 else {
24804 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24805 _errHandler.reportMatch(this);
24806 consume();
24807 }
24808 }
24809 break;
24810 case TRUSTWORTHY:
24811 enterOuterAlt(_localctx, 8);
24812 {
24813 setState(3584);
24814 match(TRUSTWORTHY);
24815 setState(3585);
24816 _la = _input.LA(1);
24817 if ( !(_la==ON || _la==OFF) ) {
24818 _errHandler.recoverInline(this);
24819 }
24820 else {
24821 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24822 _errHandler.reportMatch(this);
24823 consume();
24824 }
24825 }
24826 break;
24827 case PERSISTENT_LOG_BUFFER:
24828 enterOuterAlt(_localctx, 9);
24829 {
24830 setState(3586);
24831 match(PERSISTENT_LOG_BUFFER);
24832 setState(3587);
24833 match(EQ_);
24834 setState(3588);
24835 match(ON);
24836 {
24837 setState(3589);
24838 match(DIRECTORY_NAME);
24839 setState(3590);
24840 match(EQ_);
24841 setState(3591);
24842 ignoredIdentifier();
24843 }
24844 }
24845 break;
24846 default:
24847 throw new NoViableAltException(this);
24848 }
24849 }
24850 catch (RecognitionException re) {
24851 _localctx.exception = re;
24852 _errHandler.reportError(this, re);
24853 _errHandler.recover(this, re);
24854 }
24855 finally {
24856 exitRule();
24857 }
24858 return _localctx;
24859 }
24860
24861 public static class FileStreamOptionContext extends ParserRuleContext {
24862 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
24863 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24864 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
24865 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
24866 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
24867 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
24868 public IgnoredIdentifierContext ignoredIdentifier() {
24869 return getRuleContext(IgnoredIdentifierContext.class,0);
24870 }
24871 public FileStreamOptionContext(ParserRuleContext parent, int invokingState) {
24872 super(parent, invokingState);
24873 }
24874 @Override public int getRuleIndex() { return RULE_fileStreamOption; }
24875 @Override
24876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOption(this);
24878 else return visitor.visitChildren(this);
24879 }
24880 }
24881
24882 public final FileStreamOptionContext fileStreamOption() throws RecognitionException {
24883 FileStreamOptionContext _localctx = new FileStreamOptionContext(_ctx, getState());
24884 enterRule(_localctx, 524, RULE_fileStreamOption);
24885 int _la;
24886 try {
24887 setState(3600);
24888 _errHandler.sync(this);
24889 switch (_input.LA(1)) {
24890 case NON_TRANSACTED_ACCESS:
24891 enterOuterAlt(_localctx, 1);
24892 {
24893 setState(3594);
24894 match(NON_TRANSACTED_ACCESS);
24895 setState(3595);
24896 match(EQ_);
24897 setState(3596);
24898 _la = _input.LA(1);
24899 if ( !(_la==FULL || _la==OFF || _la==READ_ONLY) ) {
24900 _errHandler.recoverInline(this);
24901 }
24902 else {
24903 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24904 _errHandler.reportMatch(this);
24905 consume();
24906 }
24907 }
24908 break;
24909 case DIRECTORY_NAME:
24910 enterOuterAlt(_localctx, 2);
24911 {
24912 setState(3597);
24913 match(DIRECTORY_NAME);
24914 setState(3598);
24915 match(EQ_);
24916 setState(3599);
24917 ignoredIdentifier();
24918 }
24919 break;
24920 default:
24921 throw new NoViableAltException(this);
24922 }
24923 }
24924 catch (RecognitionException re) {
24925 _localctx.exception = re;
24926 _errHandler.reportError(this, re);
24927 _errHandler.recover(this, re);
24928 }
24929 finally {
24930 exitRule();
24931 }
24932 return _localctx;
24933 }
24934
24935 public static class FileSpecContext extends ParserRuleContext {
24936 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24937 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
24938 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24939 public TerminalNode EQ_(int i) {
24940 return getToken(SQLServerStatementParser.EQ_, i);
24941 }
24942 public IgnoredIdentifierContext ignoredIdentifier() {
24943 return getRuleContext(IgnoredIdentifierContext.class,0);
24944 }
24945 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24946 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
24947 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
24948 public DatabaseFileSpecOptionContext databaseFileSpecOption() {
24949 return getRuleContext(DatabaseFileSpecOptionContext.class,0);
24950 }
24951 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24952 public FileSpecContext(ParserRuleContext parent, int invokingState) {
24953 super(parent, invokingState);
24954 }
24955 @Override public int getRuleIndex() { return RULE_fileSpec; }
24956 @Override
24957 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24958 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileSpec(this);
24959 else return visitor.visitChildren(this);
24960 }
24961 }
24962
24963 public final FileSpecContext fileSpec() throws RecognitionException {
24964 FileSpecContext _localctx = new FileSpecContext(_ctx, getState());
24965 enterRule(_localctx, 526, RULE_fileSpec);
24966 try {
24967 enterOuterAlt(_localctx, 1);
24968 {
24969 setState(3602);
24970 match(LP_);
24971 setState(3603);
24972 match(NAME);
24973 setState(3604);
24974 match(EQ_);
24975 setState(3605);
24976 ignoredIdentifier();
24977 setState(3606);
24978 match(COMMA_);
24979 setState(3607);
24980 match(FILENAME);
24981 setState(3608);
24982 match(EQ_);
24983 setState(3609);
24984 match(STRING_);
24985 setState(3610);
24986 databaseFileSpecOption();
24987 setState(3611);
24988 match(RP_);
24989 }
24990 }
24991 catch (RecognitionException re) {
24992 _localctx.exception = re;
24993 _errHandler.reportError(this, re);
24994 _errHandler.recover(this, re);
24995 }
24996 finally {
24997 exitRule();
24998 }
24999 return _localctx;
25000 }
25001
25002 public static class DatabaseFileSpecOptionContext extends ParserRuleContext {
25003 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25004 public TerminalNode COMMA_(int i) {
25005 return getToken(SQLServerStatementParser.COMMA_, i);
25006 }
25007 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
25008 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
25009 public TerminalNode EQ_(int i) {
25010 return getToken(SQLServerStatementParser.EQ_, i);
25011 }
25012 public List<NumberLiteralsContext> numberLiterals() {
25013 return getRuleContexts(NumberLiteralsContext.class);
25014 }
25015 public NumberLiteralsContext numberLiterals(int i) {
25016 return getRuleContext(NumberLiteralsContext.class,i);
25017 }
25018 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
25019 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
25020 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
25021 public List<TerminalNode> KB() { return getTokens(SQLServerStatementParser.KB); }
25022 public TerminalNode KB(int i) {
25023 return getToken(SQLServerStatementParser.KB, i);
25024 }
25025 public List<TerminalNode> MB() { return getTokens(SQLServerStatementParser.MB); }
25026 public TerminalNode MB(int i) {
25027 return getToken(SQLServerStatementParser.MB, i);
25028 }
25029 public List<TerminalNode> GB() { return getTokens(SQLServerStatementParser.GB); }
25030 public TerminalNode GB(int i) {
25031 return getToken(SQLServerStatementParser.GB, i);
25032 }
25033 public List<TerminalNode> TB() { return getTokens(SQLServerStatementParser.TB); }
25034 public TerminalNode TB(int i) {
25035 return getToken(SQLServerStatementParser.TB, i);
25036 }
25037 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
25038 public DatabaseFileSpecOptionContext(ParserRuleContext parent, int invokingState) {
25039 super(parent, invokingState);
25040 }
25041 @Override public int getRuleIndex() { return RULE_databaseFileSpecOption; }
25042 @Override
25043 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25044 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileSpecOption(this);
25045 else return visitor.visitChildren(this);
25046 }
25047 }
25048
25049 public final DatabaseFileSpecOptionContext databaseFileSpecOption() throws RecognitionException {
25050 DatabaseFileSpecOptionContext _localctx = new DatabaseFileSpecOptionContext(_ctx, getState());
25051 enterRule(_localctx, 528, RULE_databaseFileSpecOption);
25052 int _la;
25053 try {
25054 enterOuterAlt(_localctx, 1);
25055 {
25056 setState(3620);
25057 _errHandler.sync(this);
25058 switch ( getInterpreter().adaptivePredict(_input,344,_ctx) ) {
25059 case 1:
25060 {
25061 setState(3613);
25062 match(COMMA_);
25063 setState(3614);
25064 match(SIZE);
25065 setState(3615);
25066 match(EQ_);
25067 setState(3616);
25068 numberLiterals();
25069 setState(3618);
25070 _errHandler.sync(this);
25071 _la = _input.LA(1);
25072 if (((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) {
25073 {
25074 setState(3617);
25075 _la = _input.LA(1);
25076 if ( !(((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) ) {
25077 _errHandler.recoverInline(this);
25078 }
25079 else {
25080 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25081 _errHandler.reportMatch(this);
25082 consume();
25083 }
25084 }
25085 }
25086
25087 }
25088 break;
25089 }
25090 setState(3632);
25091 _errHandler.sync(this);
25092 switch ( getInterpreter().adaptivePredict(_input,347,_ctx) ) {
25093 case 1:
25094 {
25095 setState(3622);
25096 match(COMMA_);
25097 setState(3623);
25098 match(MAXSIZE);
25099 setState(3624);
25100 match(EQ_);
25101 setState(3630);
25102 _errHandler.sync(this);
25103 switch (_input.LA(1)) {
25104 case PLUS_:
25105 case MINUS_:
25106 case NUMBER_:
25107 {
25108 setState(3625);
25109 numberLiterals();
25110 setState(3627);
25111 _errHandler.sync(this);
25112 _la = _input.LA(1);
25113 if (((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) {
25114 {
25115 setState(3626);
25116 _la = _input.LA(1);
25117 if ( !(((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) ) {
25118 _errHandler.recoverInline(this);
25119 }
25120 else {
25121 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25122 _errHandler.reportMatch(this);
25123 consume();
25124 }
25125 }
25126 }
25127
25128 }
25129 break;
25130 case UNLIMITED:
25131 {
25132 setState(3629);
25133 match(UNLIMITED);
25134 }
25135 break;
25136 default:
25137 throw new NoViableAltException(this);
25138 }
25139 }
25140 break;
25141 }
25142 setState(3641);
25143 _errHandler.sync(this);
25144 _la = _input.LA(1);
25145 if (_la==COMMA_) {
25146 {
25147 setState(3634);
25148 match(COMMA_);
25149 setState(3635);
25150 match(FILEGROWTH);
25151 setState(3636);
25152 match(EQ_);
25153 setState(3637);
25154 numberLiterals();
25155 setState(3639);
25156 _errHandler.sync(this);
25157 _la = _input.LA(1);
25158 if (_la==MOD_ || ((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) {
25159 {
25160 setState(3638);
25161 _la = _input.LA(1);
25162 if ( !(_la==MOD_ || ((((_la - 510)) & ~0x3f) == 0 && ((1L << (_la - 510)) & ((1L << (KB - 510)) | (1L << (MB - 510)) | (1L << (GB - 510)) | (1L << (TB - 510)))) != 0)) ) {
25163 _errHandler.recoverInline(this);
25164 }
25165 else {
25166 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25167 _errHandler.reportMatch(this);
25168 consume();
25169 }
25170 }
25171 }
25172
25173 }
25174 }
25175
25176 }
25177 }
25178 catch (RecognitionException re) {
25179 _localctx.exception = re;
25180 _errHandler.reportError(this, re);
25181 _errHandler.recover(this, re);
25182 }
25183 finally {
25184 exitRule();
25185 }
25186 return _localctx;
25187 }
25188
25189 public static class DatabaseFileGroupContext extends ParserRuleContext {
25190 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
25191 public IgnoredIdentifierContext ignoredIdentifier() {
25192 return getRuleContext(IgnoredIdentifierContext.class,0);
25193 }
25194 public List<FileSpecContext> fileSpec() {
25195 return getRuleContexts(FileSpecContext.class);
25196 }
25197 public FileSpecContext fileSpec(int i) {
25198 return getRuleContext(FileSpecContext.class,i);
25199 }
25200 public DatabaseFileGroupContainsContext databaseFileGroupContains() {
25201 return getRuleContext(DatabaseFileGroupContainsContext.class,0);
25202 }
25203 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25204 public TerminalNode COMMA_(int i) {
25205 return getToken(SQLServerStatementParser.COMMA_, i);
25206 }
25207 public DatabaseFileGroupContext(ParserRuleContext parent, int invokingState) {
25208 super(parent, invokingState);
25209 }
25210 @Override public int getRuleIndex() { return RULE_databaseFileGroup; }
25211 @Override
25212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroup(this);
25214 else return visitor.visitChildren(this);
25215 }
25216 }
25217
25218 public final DatabaseFileGroupContext databaseFileGroup() throws RecognitionException {
25219 DatabaseFileGroupContext _localctx = new DatabaseFileGroupContext(_ctx, getState());
25220 enterRule(_localctx, 530, RULE_databaseFileGroup);
25221 try {
25222 int _alt;
25223 enterOuterAlt(_localctx, 1);
25224 {
25225 setState(3643);
25226 match(FILEGROUP);
25227 setState(3644);
25228 ignoredIdentifier();
25229 setState(3646);
25230 _errHandler.sync(this);
25231 switch ( getInterpreter().adaptivePredict(_input,350,_ctx) ) {
25232 case 1:
25233 {
25234 setState(3645);
25235 databaseFileGroupContains();
25236 }
25237 break;
25238 }
25239 setState(3648);
25240 fileSpec();
25241 setState(3653);
25242 _errHandler.sync(this);
25243 _alt = getInterpreter().adaptivePredict(_input,351,_ctx);
25244 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
25245 if ( _alt==1 ) {
25246 {
25247 {
25248 setState(3649);
25249 match(COMMA_);
25250 setState(3650);
25251 fileSpec();
25252 }
25253 }
25254 }
25255 setState(3655);
25256 _errHandler.sync(this);
25257 _alt = getInterpreter().adaptivePredict(_input,351,_ctx);
25258 }
25259 }
25260 }
25261 catch (RecognitionException re) {
25262 _localctx.exception = re;
25263 _errHandler.reportError(this, re);
25264 _errHandler.recover(this, re);
25265 }
25266 finally {
25267 exitRule();
25268 }
25269 return _localctx;
25270 }
25271
25272 public static class DatabaseFileGroupContainsContext extends ParserRuleContext {
25273 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
25274 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
25275 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
25276 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
25277 public DatabaseFileGroupContainsContext(ParserRuleContext parent, int invokingState) {
25278 super(parent, invokingState);
25279 }
25280 @Override public int getRuleIndex() { return RULE_databaseFileGroupContains; }
25281 @Override
25282 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25283 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroupContains(this);
25284 else return visitor.visitChildren(this);
25285 }
25286 }
25287
25288 public final DatabaseFileGroupContainsContext databaseFileGroupContains() throws RecognitionException {
25289 DatabaseFileGroupContainsContext _localctx = new DatabaseFileGroupContainsContext(_ctx, getState());
25290 enterRule(_localctx, 532, RULE_databaseFileGroupContains);
25291 int _la;
25292 try {
25293 setState(3665);
25294 _errHandler.sync(this);
25295 switch ( getInterpreter().adaptivePredict(_input,354,_ctx) ) {
25296 case 1:
25297 enterOuterAlt(_localctx, 1);
25298 {
25299 setState(3658);
25300 _errHandler.sync(this);
25301 _la = _input.LA(1);
25302 if (_la==CONTAINS) {
25303 {
25304 setState(3656);
25305 match(CONTAINS);
25306 setState(3657);
25307 match(FILESTREAM);
25308 }
25309 }
25310
25311 setState(3661);
25312 _errHandler.sync(this);
25313 _la = _input.LA(1);
25314 if (_la==DEFAULT) {
25315 {
25316 setState(3660);
25317 match(DEFAULT);
25318 }
25319 }
25320
25321 }
25322 break;
25323 case 2:
25324 enterOuterAlt(_localctx, 2);
25325 {
25326 setState(3663);
25327 match(CONTAINS);
25328 setState(3664);
25329 match(MEMORY_OPTIMIZED_DATA);
25330 }
25331 break;
25332 }
25333 }
25334 catch (RecognitionException re) {
25335 _localctx.exception = re;
25336 _errHandler.reportError(this, re);
25337 _errHandler.recover(this, re);
25338 }
25339 finally {
25340 exitRule();
25341 }
25342 return _localctx;
25343 }
25344
25345 public static class DatabaseLogOnsContext extends ParserRuleContext {
25346 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
25347 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
25348 public List<FileSpecContext> fileSpec() {
25349 return getRuleContexts(FileSpecContext.class);
25350 }
25351 public FileSpecContext fileSpec(int i) {
25352 return getRuleContext(FileSpecContext.class,i);
25353 }
25354 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25355 public TerminalNode COMMA_(int i) {
25356 return getToken(SQLServerStatementParser.COMMA_, i);
25357 }
25358 public DatabaseLogOnsContext(ParserRuleContext parent, int invokingState) {
25359 super(parent, invokingState);
25360 }
25361 @Override public int getRuleIndex() { return RULE_databaseLogOns; }
25362 @Override
25363 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25364 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseLogOns(this);
25365 else return visitor.visitChildren(this);
25366 }
25367 }
25368
25369 public final DatabaseLogOnsContext databaseLogOns() throws RecognitionException {
25370 DatabaseLogOnsContext _localctx = new DatabaseLogOnsContext(_ctx, getState());
25371 enterRule(_localctx, 534, RULE_databaseLogOns);
25372 int _la;
25373 try {
25374 enterOuterAlt(_localctx, 1);
25375 {
25376 setState(3677);
25377 _errHandler.sync(this);
25378 _la = _input.LA(1);
25379 if (_la==LOG) {
25380 {
25381 setState(3667);
25382 match(LOG);
25383 setState(3668);
25384 match(ON);
25385 setState(3669);
25386 fileSpec();
25387 setState(3674);
25388 _errHandler.sync(this);
25389 _la = _input.LA(1);
25390 while (_la==COMMA_) {
25391 {
25392 {
25393 setState(3670);
25394 match(COMMA_);
25395 setState(3671);
25396 fileSpec();
25397 }
25398 }
25399 setState(3676);
25400 _errHandler.sync(this);
25401 _la = _input.LA(1);
25402 }
25403 }
25404 }
25405
25406 }
25407 }
25408 catch (RecognitionException re) {
25409 _localctx.exception = re;
25410 _errHandler.reportError(this, re);
25411 _errHandler.recover(this, re);
25412 }
25413 finally {
25414 exitRule();
25415 }
25416 return _localctx;
25417 }
25418
25419 public static class DeclareVariableContext extends ParserRuleContext {
25420 public TerminalNode DECLARE() { return getToken(SQLServerStatementParser.DECLARE, 0); }
25421 public List<VariableContext> variable() {
25422 return getRuleContexts(VariableContext.class);
25423 }
25424 public VariableContext variable(int i) {
25425 return getRuleContext(VariableContext.class,i);
25426 }
25427 public TableVariableContext tableVariable() {
25428 return getRuleContext(TableVariableContext.class,0);
25429 }
25430 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25431 public TerminalNode COMMA_(int i) {
25432 return getToken(SQLServerStatementParser.COMMA_, i);
25433 }
25434 public DeclareVariableContext(ParserRuleContext parent, int invokingState) {
25435 super(parent, invokingState);
25436 }
25437 @Override public int getRuleIndex() { return RULE_declareVariable; }
25438 @Override
25439 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25440 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeclareVariable(this);
25441 else return visitor.visitChildren(this);
25442 }
25443 }
25444
25445 public final DeclareVariableContext declareVariable() throws RecognitionException {
25446 DeclareVariableContext _localctx = new DeclareVariableContext(_ctx, getState());
25447 enterRule(_localctx, 536, RULE_declareVariable);
25448 int _la;
25449 try {
25450 enterOuterAlt(_localctx, 1);
25451 {
25452 setState(3679);
25453 match(DECLARE);
25454 setState(3689);
25455 _errHandler.sync(this);
25456 switch ( getInterpreter().adaptivePredict(_input,358,_ctx) ) {
25457 case 1:
25458 {
25459 setState(3680);
25460 variable();
25461 setState(3685);
25462 _errHandler.sync(this);
25463 _la = _input.LA(1);
25464 while (_la==COMMA_) {
25465 {
25466 {
25467 setState(3681);
25468 match(COMMA_);
25469 setState(3682);
25470 variable();
25471 }
25472 }
25473 setState(3687);
25474 _errHandler.sync(this);
25475 _la = _input.LA(1);
25476 }
25477 }
25478 break;
25479 case 2:
25480 {
25481 setState(3688);
25482 tableVariable();
25483 }
25484 break;
25485 }
25486 }
25487 }
25488 catch (RecognitionException re) {
25489 _localctx.exception = re;
25490 _errHandler.reportError(this, re);
25491 _errHandler.recover(this, re);
25492 }
25493 finally {
25494 exitRule();
25495 }
25496 return _localctx;
25497 }
25498
25499 public static class VariableContext extends ParserRuleContext {
25500 public VariableNameContext variableName() {
25501 return getRuleContext(VariableNameContext.class,0);
25502 }
25503 public DataTypeContext dataType() {
25504 return getRuleContext(DataTypeContext.class,0);
25505 }
25506 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25507 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25508 public SimpleExprContext simpleExpr() {
25509 return getRuleContext(SimpleExprContext.class,0);
25510 }
25511 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
25512 public VariableContext(ParserRuleContext parent, int invokingState) {
25513 super(parent, invokingState);
25514 }
25515 @Override public int getRuleIndex() { return RULE_variable; }
25516 @Override
25517 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25518 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariable(this);
25519 else return visitor.visitChildren(this);
25520 }
25521 }
25522
25523 public final VariableContext variable() throws RecognitionException {
25524 VariableContext _localctx = new VariableContext(_ctx, getState());
25525 enterRule(_localctx, 538, RULE_variable);
25526 int _la;
25527 try {
25528 setState(3703);
25529 _errHandler.sync(this);
25530 switch ( getInterpreter().adaptivePredict(_input,361,_ctx) ) {
25531 case 1:
25532 enterOuterAlt(_localctx, 1);
25533 {
25534 setState(3691);
25535 variableName();
25536 setState(3693);
25537 _errHandler.sync(this);
25538 _la = _input.LA(1);
25539 if (_la==AS) {
25540 {
25541 setState(3692);
25542 match(AS);
25543 }
25544 }
25545
25546 setState(3695);
25547 dataType();
25548 setState(3698);
25549 _errHandler.sync(this);
25550 switch ( getInterpreter().adaptivePredict(_input,360,_ctx) ) {
25551 case 1:
25552 {
25553 setState(3696);
25554 match(EQ_);
25555 setState(3697);
25556 simpleExpr(0);
25557 }
25558 break;
25559 }
25560 }
25561 break;
25562 case 2:
25563 enterOuterAlt(_localctx, 2);
25564 {
25565 setState(3700);
25566 variableName();
25567 setState(3701);
25568 match(CURSOR);
25569 }
25570 break;
25571 }
25572 }
25573 catch (RecognitionException re) {
25574 _localctx.exception = re;
25575 _errHandler.reportError(this, re);
25576 _errHandler.recover(this, re);
25577 }
25578 finally {
25579 exitRule();
25580 }
25581 return _localctx;
25582 }
25583
25584 public static class TableVariableContext extends ParserRuleContext {
25585 public VariableNameContext variableName() {
25586 return getRuleContext(VariableNameContext.class,0);
25587 }
25588 public VariTableTypeDefinitionContext variTableTypeDefinition() {
25589 return getRuleContext(VariTableTypeDefinitionContext.class,0);
25590 }
25591 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25592 public TableVariableContext(ParserRuleContext parent, int invokingState) {
25593 super(parent, invokingState);
25594 }
25595 @Override public int getRuleIndex() { return RULE_tableVariable; }
25596 @Override
25597 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25598 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariable(this);
25599 else return visitor.visitChildren(this);
25600 }
25601 }
25602
25603 public final TableVariableContext tableVariable() throws RecognitionException {
25604 TableVariableContext _localctx = new TableVariableContext(_ctx, getState());
25605 enterRule(_localctx, 540, RULE_tableVariable);
25606 int _la;
25607 try {
25608 enterOuterAlt(_localctx, 1);
25609 {
25610 setState(3705);
25611 variableName();
25612 setState(3707);
25613 _errHandler.sync(this);
25614 _la = _input.LA(1);
25615 if (_la==AS) {
25616 {
25617 setState(3706);
25618 match(AS);
25619 }
25620 }
25621
25622 setState(3709);
25623 variTableTypeDefinition();
25624 }
25625 }
25626 catch (RecognitionException re) {
25627 _localctx.exception = re;
25628 _errHandler.reportError(this, re);
25629 _errHandler.recover(this, re);
25630 }
25631 finally {
25632 exitRule();
25633 }
25634 return _localctx;
25635 }
25636
25637 public static class VariTableTypeDefinitionContext extends ParserRuleContext {
25638 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
25639 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25640 public List<TableVariableClauseContext> tableVariableClause() {
25641 return getRuleContexts(TableVariableClauseContext.class);
25642 }
25643 public TableVariableClauseContext tableVariableClause(int i) {
25644 return getRuleContext(TableVariableClauseContext.class,i);
25645 }
25646 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25647 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25648 public TerminalNode COMMA_(int i) {
25649 return getToken(SQLServerStatementParser.COMMA_, i);
25650 }
25651 public VariTableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
25652 super(parent, invokingState);
25653 }
25654 @Override public int getRuleIndex() { return RULE_variTableTypeDefinition; }
25655 @Override
25656 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25657 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariTableTypeDefinition(this);
25658 else return visitor.visitChildren(this);
25659 }
25660 }
25661
25662 public final VariTableTypeDefinitionContext variTableTypeDefinition() throws RecognitionException {
25663 VariTableTypeDefinitionContext _localctx = new VariTableTypeDefinitionContext(_ctx, getState());
25664 enterRule(_localctx, 542, RULE_variTableTypeDefinition);
25665 int _la;
25666 try {
25667 enterOuterAlt(_localctx, 1);
25668 {
25669 setState(3711);
25670 match(TABLE);
25671 setState(3712);
25672 match(LP_);
25673 setState(3713);
25674 tableVariableClause();
25675 setState(3718);
25676 _errHandler.sync(this);
25677 _la = _input.LA(1);
25678 while (_la==COMMA_) {
25679 {
25680 {
25681 setState(3714);
25682 match(COMMA_);
25683 setState(3715);
25684 tableVariableClause();
25685 }
25686 }
25687 setState(3720);
25688 _errHandler.sync(this);
25689 _la = _input.LA(1);
25690 }
25691 setState(3721);
25692 match(RP_);
25693 }
25694 }
25695 catch (RecognitionException re) {
25696 _localctx.exception = re;
25697 _errHandler.reportError(this, re);
25698 _errHandler.recover(this, re);
25699 }
25700 finally {
25701 exitRule();
25702 }
25703 return _localctx;
25704 }
25705
25706 public static class TableVariableClauseContext extends ParserRuleContext {
25707 public VariableTableColumnDefinitionContext variableTableColumnDefinition() {
25708 return getRuleContext(VariableTableColumnDefinitionContext.class,0);
25709 }
25710 public VariableTableConstraintContext variableTableConstraint() {
25711 return getRuleContext(VariableTableConstraintContext.class,0);
25712 }
25713 public TableVariableClauseContext(ParserRuleContext parent, int invokingState) {
25714 super(parent, invokingState);
25715 }
25716 @Override public int getRuleIndex() { return RULE_tableVariableClause; }
25717 @Override
25718 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25719 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariableClause(this);
25720 else return visitor.visitChildren(this);
25721 }
25722 }
25723
25724 public final TableVariableClauseContext tableVariableClause() throws RecognitionException {
25725 TableVariableClauseContext _localctx = new TableVariableClauseContext(_ctx, getState());
25726 enterRule(_localctx, 544, RULE_tableVariableClause);
25727 try {
25728 setState(3725);
25729 _errHandler.sync(this);
25730 switch (_input.LA(1)) {
25731 case DOLLAR_:
25732 case TRUNCATE:
25733 case SCHEMA:
25734 case COLUMNS:
25735 case PRECISION:
25736 case FUNCTION:
25737 case TRIGGER:
25738 case CAST:
25739 case TRIM:
25740 case SUBSTRING:
25741 case RIGHT:
25742 case OFF:
25743 case GROUP:
25744 case LIMIT:
25745 case OFFSET:
25746 case SAVEPOINT:
25747 case BOOLEAN:
25748 case ARRAY:
25749 case DATE:
25750 case TIMESTAMP:
25751 case LOCALTIME:
25752 case LOCALTIMESTAMP:
25753 case YEAR:
25754 case QUARTER:
25755 case MONTH:
25756 case WEEK:
25757 case DAY:
25758 case SECOND:
25759 case MICROSECOND:
25760 case MAX:
25761 case MIN:
25762 case SUM:
25763 case COUNT:
25764 case AVG:
25765 case ENABLE:
25766 case DISABLE:
25767 case INSTANCE:
25768 case DO:
25769 case DEFINER:
25770 case SQL:
25771 case CASCADED:
25772 case LOCAL:
25773 case NEXT:
25774 case NAME:
25775 case INTEGER:
25776 case TYPE:
25777 case TEXT:
25778 case VIEWS:
25779 case READ_ONLY:
25780 case DATABASE:
25781 case RETURNS:
25782 case DATEPART:
25783 case PASSWORD:
25784 case BINARY:
25785 case HIDDEN_:
25786 case MOD:
25787 case PARTITION:
25788 case PARTITIONS:
25789 case TOP:
25790 case ROW:
25791 case ROWS:
25792 case XOR:
25793 case ALWAYS:
25794 case USER:
25795 case ROLE:
25796 case START:
25797 case ALGORITHM:
25798 case AUTO:
25799 case BLOCKERS:
25800 case CLUSTERED:
25801 case NONCLUSTERED:
25802 case COLUMNSTORE:
25803 case CONTENT:
25804 case YEARS:
25805 case MONTHS:
25806 case WEEKS:
25807 case DAYS:
25808 case MINUTES:
25809 case DENY:
25810 case DETERMINISTIC:
25811 case DISTRIBUTION:
25812 case DOCUMENT:
25813 case DURABILITY:
25814 case ENCRYPTED:
25815 case FILESTREAM:
25816 case FILETABLE:
25817 case FILLFACTOR:
25818 case FOLLOWING:
25819 case HASH:
25820 case HEAP:
25821 case INBOUND:
25822 case OUTBOUND:
25823 case UNBOUNDED:
25824 case INFINITE:
25825 case LOGIN:
25826 case MASKED:
25827 case MAXDOP:
25828 case MOVE:
25829 case NOCHECK:
25830 case OBJECT:
25831 case ONLINE:
25832 case OVER:
25833 case PAGE:
25834 case PAUSED:
25835 case PERIOD:
25836 case PERSISTED:
25837 case PRECEDING:
25838 case RANDOMIZED:
25839 case RANGE:
25840 case REBUILD:
25841 case REPLICATE:
25842 case REPLICATION:
25843 case RESUMABLE:
25844 case ROWGUIDCOL:
25845 case SAVE:
25846 case SELF:
25847 case SPARSE:
25848 case SWITCH:
25849 case TRAN:
25850 case TRANCOUNT:
25851 case CONTROL:
25852 case CONCAT:
25853 case TAKE:
25854 case OWNERSHIP:
25855 case DEFINITION:
25856 case APPLICATION:
25857 case ASSEMBLY:
25858 case SYMMETRIC:
25859 case ASYMMETRIC:
25860 case SERVER:
25861 case RECEIVE:
25862 case CHANGE:
25863 case TRACE:
25864 case TRACKING:
25865 case RESOURCES:
25866 case SETTINGS:
25867 case STATE:
25868 case AVAILABILITY:
25869 case CREDENTIAL:
25870 case ENDPOINT:
25871 case EVENT:
25872 case NOTIFICATION:
25873 case LINKED:
25874 case AUDIT:
25875 case DDL:
25876 case XML:
25877 case IMPERSONATE:
25878 case SECURABLES:
25879 case AUTHENTICATE:
25880 case EXTERNAL:
25881 case ACCESS:
25882 case ADMINISTER:
25883 case BULK:
25884 case OPERATIONS:
25885 case UNSAFE:
25886 case SHUTDOWN:
25887 case SCOPED:
25888 case CONFIGURATION:
25889 case DATASPACE:
25890 case SERVICE:
25891 case CERTIFICATE:
25892 case CONTRACT:
25893 case ENCRYPTION:
25894 case MASTER:
25895 case DATA:
25896 case SOURCE:
25897 case FILE:
25898 case FORMAT:
25899 case LIBRARY:
25900 case FULLTEXT:
25901 case MASK:
25902 case UNMASK:
25903 case MESSAGE:
25904 case REMOTE:
25905 case BINDING:
25906 case ROUTE:
25907 case SECURITY:
25908 case POLICY:
25909 case AGGREGATE:
25910 case QUEUE:
25911 case RULE:
25912 case SYNONYM:
25913 case COLLECTION:
25914 case SCRIPT:
25915 case KILL:
25916 case BACKUP:
25917 case LOG:
25918 case SHOWPLAN:
25919 case SUBSCRIBE:
25920 case QUERY:
25921 case NOTIFICATIONS:
25922 case CHECKPOINT:
25923 case SEQUENCE:
25924 case ABORT_AFTER_WAIT:
25925 case ALLOW_PAGE_LOCKS:
25926 case ALLOW_ROW_LOCKS:
25927 case ALL_SPARSE_COLUMNS:
25928 case BUCKET_COUNT:
25929 case COLUMNSTORE_ARCHIVE:
25930 case COLUMN_ENCRYPTION_KEY:
25931 case COLUMN_SET:
25932 case COMPRESSION_DELAY:
25933 case DATABASE_DEAULT:
25934 case DATA_COMPRESSION:
25935 case DATA_CONSISTENCY_CHECK:
25936 case ENCRYPTION_TYPE:
25937 case SYSTEM_TIME:
25938 case SYSTEM_VERSIONING:
25939 case TEXTIMAGE_ON:
25940 case WAIT_AT_LOW_PRIORITY:
25941 case STATISTICS_INCREMENTAL:
25942 case STATISTICS_NORECOMPUTE:
25943 case ROUND_ROBIN:
25944 case SCHEMA_AND_DATA:
25945 case SCHEMA_ONLY:
25946 case SORT_IN_TEMPDB:
25947 case IGNORE_DUP_KEY:
25948 case IMPLICIT_TRANSACTIONS:
25949 case MAX_DURATION:
25950 case MEMORY_OPTIMIZED:
25951 case MIGRATION_STATE:
25952 case PAD_INDEX:
25953 case REMOTE_DATA_ARCHIVE:
25954 case FILESTREAM_ON:
25955 case FILETABLE_COLLATE_FILENAME:
25956 case FILETABLE_DIRECTORY:
25957 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
25958 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
25959 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
25960 case FILTER_PREDICATE:
25961 case HISTORY_RETENTION_PERIOD:
25962 case HISTORY_TABLE:
25963 case LOCK_ESCALATION:
25964 case DROP_EXISTING:
25965 case ROW_NUMBER:
25966 case FIRST:
25967 case DATETIME2:
25968 case OUTPUT:
25969 case INSERTED:
25970 case DELETED:
25971 case FILENAME:
25972 case SIZE:
25973 case MAXSIZE:
25974 case FILEGROWTH:
25975 case UNLIMITED:
25976 case KB:
25977 case MB:
25978 case GB:
25979 case TB:
25980 case CONTAINS:
25981 case MEMORY_OPTIMIZED_DATA:
25982 case FILEGROUP:
25983 case NON_TRANSACTED_ACCESS:
25984 case DB_CHAINING:
25985 case TRUSTWORTHY:
25986 case FORWARD_ONLY:
25987 case KEYSET:
25988 case FAST_FORWARD:
25989 case SCROLL_LOCKS:
25990 case OPTIMISTIC:
25991 case TYPE_WARNING:
25992 case SCHEMABINDING:
25993 case CALLER:
25994 case INPUT:
25995 case OWNER:
25996 case SNAPSHOT:
25997 case REPEATABLE:
25998 case SERIALIZABLE:
25999 case NATIVE_COMPILATION:
26000 case VIEW_METADATA:
26001 case INSTEAD:
26002 case APPEND:
26003 case INCREMENT:
26004 case CACHE:
26005 case MINVALUE:
26006 case MAXVALUE:
26007 case RESTART:
26008 case LOB_COMPACTION:
26009 case COMPRESS_ALL_ROW_GROUPS:
26010 case REORGANIZE:
26011 case RESUME:
26012 case PAUSE:
26013 case ABORT:
26014 case ACCELERATED_DATABASE_RECOVERY:
26015 case PERSISTENT_VERSION_STORE_FILEGROUP:
26016 case IMMEDIATE:
26017 case NO_WAIT:
26018 case TARGET_RECOVERY_TIME:
26019 case SECONDS:
26020 case HONOR_BROKER_PRIORITY:
26021 case ERROR_BROKER_CONVERSATIONS:
26022 case NEW_BROKER:
26023 case DISABLE_BROKER:
26024 case ENABLE_BROKER:
26025 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
26026 case READ_COMMITTED_SNAPSHOT:
26027 case ALLOW_SNAPSHOT_ISOLATION:
26028 case RECURSIVE_TRIGGERS:
26029 case QUOTED_IDENTIFIER:
26030 case NUMERIC_ROUNDABORT:
26031 case CONCAT_NULL_YIELDS_NULL:
26032 case COMPATIBILITY_LEVEL:
26033 case ARITHABORT:
26034 case ANSI_WARNINGS:
26035 case ANSI_PADDING:
26036 case ANSI_NULLS:
26037 case ANSI_NULL_DEFAULT:
26038 case PAGE_VERIFY:
26039 case CHECKSUM:
26040 case TORN_PAGE_DETECTION:
26041 case BULK_LOGGED:
26042 case RECOVERY:
26043 case TOTAL_EXECUTION_CPU_TIME_MS:
26044 case TOTAL_COMPILE_CPU_TIME_MS:
26045 case STALE_CAPTURE_POLICY_THRESHOLD:
26046 case EXECUTION_COUNT:
26047 case QUERY_CAPTURE_POLICY:
26048 case WAIT_STATS_CAPTURE_MODE:
26049 case MAX_PLANS_PER_QUERY:
26050 case QUERY_CAPTURE_MODE:
26051 case SIZE_BASED_CLEANUP_MODE:
26052 case INTERVAL_LENGTH_MINUTES:
26053 case MAX_STORAGE_SIZE_MB:
26054 case DATA_FLUSH_INTERVAL_SECONDS:
26055 case CLEANUP_POLICY:
26056 case CUSTOM:
26057 case STALE_QUERY_THRESHOLD_DAYS:
26058 case OPERATION_MODE:
26059 case QUERY_STORE:
26060 case CURSOR_DEFAULT:
26061 case GLOBAL:
26062 case CURSOR_CLOSE_ON_COMMIT:
26063 case HOURS:
26064 case CHANGE_RETENTION:
26065 case AUTO_CLEANUP:
26066 case CHANGE_TRACKING:
26067 case AUTOMATIC_TUNING:
26068 case FORCE_LAST_GOOD_PLAN:
26069 case AUTO_UPDATE_STATISTICS_ASYNC:
26070 case AUTO_UPDATE_STATISTICS:
26071 case AUTO_SHRINK:
26072 case AUTO_CREATE_STATISTICS:
26073 case INCREMENTAL:
26074 case AUTO_CLOSE:
26075 case DATA_RETENTION:
26076 case TEMPORAL_HISTORY_RETENTION:
26077 case EDITION:
26078 case MIXED_PAGE_ALLOCATION:
26079 case DISABLED:
26080 case ALLOWED:
26081 case HADR:
26082 case MULTI_USER:
26083 case RESTRICTED_USER:
26084 case SINGLE_USER:
26085 case OFFLINE:
26086 case EMERGENCY:
26087 case SUSPEND:
26088 case DATE_CORRELATION_OPTIMIZATION:
26089 case ELASTIC_POOL:
26090 case SERVICE_OBJECTIVE:
26091 case DATABASE_NAME:
26092 case ALLOW_CONNECTIONS:
26093 case GEO:
26094 case NAMED:
26095 case DATEFIRST:
26096 case BACKUP_STORAGE_REDUNDANCY:
26097 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
26098 case SECONDARY:
26099 case FAILOVER:
26100 case DEFAULT_FULLTEXT_LANGUAGE:
26101 case DEFAULT_LANGUAGE:
26102 case INLINE:
26103 case NESTED_TRIGGERS:
26104 case TRANSFORM_NOISE_WORDS:
26105 case TWO_DIGIT_YEAR_CUTOFF:
26106 case PERSISTENT_LOG_BUFFER:
26107 case DIRECTORY_NAME:
26108 case DATEFORMAT:
26109 case DELAYED_DURABILITY:
26110 case AUTHORIZATION:
26111 case TRANSFER:
26112 case PROVIDER:
26113 case SID:
26114 case SEARCH:
26115 case MEMBER:
26116 case JSON:
26117 case IDENTIFIER_:
26118 case DELIMITED_IDENTIFIER_:
26119 enterOuterAlt(_localctx, 1);
26120 {
26121 setState(3723);
26122 variableTableColumnDefinition();
26123 }
26124 break;
26125 case PRIMARY:
26126 case UNIQUE:
26127 case CHECK:
26128 enterOuterAlt(_localctx, 2);
26129 {
26130 setState(3724);
26131 variableTableConstraint();
26132 }
26133 break;
26134 default:
26135 throw new NoViableAltException(this);
26136 }
26137 }
26138 catch (RecognitionException re) {
26139 _localctx.exception = re;
26140 _errHandler.reportError(this, re);
26141 _errHandler.recover(this, re);
26142 }
26143 finally {
26144 exitRule();
26145 }
26146 return _localctx;
26147 }
26148
26149 public static class VariableTableColumnDefinitionContext extends ParserRuleContext {
26150 public ColumnNameContext columnName() {
26151 return getRuleContext(ColumnNameContext.class,0);
26152 }
26153 public VariableTableColumnConstraintContext variableTableColumnConstraint() {
26154 return getRuleContext(VariableTableColumnConstraintContext.class,0);
26155 }
26156 public DataTypeNameContext dataTypeName() {
26157 return getRuleContext(DataTypeNameContext.class,0);
26158 }
26159 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26160 public List<ExprContext> expr() {
26161 return getRuleContexts(ExprContext.class);
26162 }
26163 public ExprContext expr(int i) {
26164 return getRuleContext(ExprContext.class,i);
26165 }
26166 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
26167 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
26168 public CollationNameContext collationName() {
26169 return getRuleContext(CollationNameContext.class,0);
26170 }
26171 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
26172 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
26173 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26174 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
26175 public TerminalNode NUMBER_(int i) {
26176 return getToken(SQLServerStatementParser.NUMBER_, i);
26177 }
26178 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
26179 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26180 public VariableTableColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
26181 super(parent, invokingState);
26182 }
26183 @Override public int getRuleIndex() { return RULE_variableTableColumnDefinition; }
26184 @Override
26185 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26186 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnDefinition(this);
26187 else return visitor.visitChildren(this);
26188 }
26189 }
26190
26191 public final VariableTableColumnDefinitionContext variableTableColumnDefinition() throws RecognitionException {
26192 VariableTableColumnDefinitionContext _localctx = new VariableTableColumnDefinitionContext(_ctx, getState());
26193 enterRule(_localctx, 546, RULE_variableTableColumnDefinition);
26194 int _la;
26195 try {
26196 enterOuterAlt(_localctx, 1);
26197 {
26198 setState(3727);
26199 columnName();
26200 setState(3731);
26201 _errHandler.sync(this);
26202 switch (_input.LA(1)) {
26203 case CHAR:
26204 case DATE:
26205 case TIME:
26206 case INTEGER:
26207 case REAL:
26208 case DECIMAL:
26209 case BIT:
26210 case SMALLINT:
26211 case INT:
26212 case TINYINT:
26213 case NUMERIC:
26214 case FLOAT:
26215 case BIGINT:
26216 case TEXT:
26217 case VARCHAR:
26218 case BINARY:
26219 case XML:
26220 case MONEY:
26221 case SMALLMONEY:
26222 case DATETIMEOFFSET:
26223 case DATETIME:
26224 case DATETIME2:
26225 case SMALLDATETIME:
26226 case NCHAR:
26227 case NVARCHAR:
26228 case NTEXT:
26229 case VARBINARY:
26230 case IMAGE:
26231 case SQL_VARIANT:
26232 case UNIQUEIDENTIFIER:
26233 case HIERARCHYID:
26234 case GEOMETRY:
26235 case GEOGRAPHY:
26236 case IDENTIFIER_:
26237 {
26238 setState(3728);
26239 dataTypeName();
26240 }
26241 break;
26242 case AS:
26243 {
26244 setState(3729);
26245 match(AS);
26246 setState(3730);
26247 expr(0);
26248 }
26249 break;
26250 default:
26251 throw new NoViableAltException(this);
26252 }
26253 setState(3735);
26254 _errHandler.sync(this);
26255 _la = _input.LA(1);
26256 if (_la==COLLATE) {
26257 {
26258 setState(3733);
26259 match(COLLATE);
26260 setState(3734);
26261 collationName();
26262 }
26263 }
26264
26265 setState(3749);
26266 _errHandler.sync(this);
26267 switch (_input.LA(1)) {
26268 case RP_:
26269 case COMMA_:
26270 case PRIMARY:
26271 case UNIQUE:
26272 case WITH:
26273 case NOT:
26274 case NULL:
26275 case DEFAULT:
26276 case CHECK:
26277 case ROWGUIDCOL:
26278 {
26279 setState(3739);
26280 _errHandler.sync(this);
26281 _la = _input.LA(1);
26282 if (_la==DEFAULT) {
26283 {
26284 setState(3737);
26285 match(DEFAULT);
26286 setState(3738);
26287 expr(0);
26288 }
26289 }
26290
26291 }
26292 break;
26293 case IDENTITY:
26294 {
26295 setState(3741);
26296 match(IDENTITY);
26297 setState(3747);
26298 _errHandler.sync(this);
26299 _la = _input.LA(1);
26300 if (_la==LP_) {
26301 {
26302 setState(3742);
26303 match(LP_);
26304 setState(3743);
26305 match(NUMBER_);
26306 setState(3744);
26307 match(COMMA_);
26308 setState(3745);
26309 match(NUMBER_);
26310 setState(3746);
26311 match(RP_);
26312 }
26313 }
26314
26315 }
26316 break;
26317 default:
26318 throw new NoViableAltException(this);
26319 }
26320 setState(3752);
26321 _errHandler.sync(this);
26322 _la = _input.LA(1);
26323 if (_la==ROWGUIDCOL) {
26324 {
26325 setState(3751);
26326 match(ROWGUIDCOL);
26327 }
26328 }
26329
26330 setState(3754);
26331 variableTableColumnConstraint();
26332 }
26333 }
26334 catch (RecognitionException re) {
26335 _localctx.exception = re;
26336 _errHandler.reportError(this, re);
26337 _errHandler.recover(this, re);
26338 }
26339 finally {
26340 exitRule();
26341 }
26342 return _localctx;
26343 }
26344
26345 public static class VariableTableColumnConstraintContext extends ParserRuleContext {
26346 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
26347 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
26348 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
26349 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
26350 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
26351 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
26352 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26353 public ExprContext expr() {
26354 return getRuleContext(ExprContext.class,0);
26355 }
26356 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26357 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26358 public IndexOptionContext indexOption() {
26359 return getRuleContext(IndexOptionContext.class,0);
26360 }
26361 public VariableTableColumnConstraintContext(ParserRuleContext parent, int invokingState) {
26362 super(parent, invokingState);
26363 }
26364 @Override public int getRuleIndex() { return RULE_variableTableColumnConstraint; }
26365 @Override
26366 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26367 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnConstraint(this);
26368 else return visitor.visitChildren(this);
26369 }
26370 }
26371
26372 public final VariableTableColumnConstraintContext variableTableColumnConstraint() throws RecognitionException {
26373 VariableTableColumnConstraintContext _localctx = new VariableTableColumnConstraintContext(_ctx, getState());
26374 enterRule(_localctx, 548, RULE_variableTableColumnConstraint);
26375 try {
26376 setState(3773);
26377 _errHandler.sync(this);
26378 switch ( getInterpreter().adaptivePredict(_input,373,_ctx) ) {
26379 case 1:
26380 enterOuterAlt(_localctx, 1);
26381 {
26382 setState(3759);
26383 _errHandler.sync(this);
26384 switch (_input.LA(1)) {
26385 case NULL:
26386 {
26387 setState(3756);
26388 match(NULL);
26389 }
26390 break;
26391 case NOT:
26392 {
26393 setState(3757);
26394 match(NOT);
26395 setState(3758);
26396 match(NULL);
26397 }
26398 break;
26399 case RP_:
26400 case COMMA_:
26401 break;
26402 default:
26403 break;
26404 }
26405 }
26406 break;
26407 case 2:
26408 enterOuterAlt(_localctx, 2);
26409 {
26410 setState(3764);
26411 _errHandler.sync(this);
26412 switch (_input.LA(1)) {
26413 case PRIMARY:
26414 {
26415 setState(3761);
26416 match(PRIMARY);
26417 setState(3762);
26418 match(KEY);
26419 }
26420 break;
26421 case UNIQUE:
26422 {
26423 setState(3763);
26424 match(UNIQUE);
26425 }
26426 break;
26427 case RP_:
26428 case COMMA_:
26429 break;
26430 default:
26431 break;
26432 }
26433 }
26434 break;
26435 case 3:
26436 enterOuterAlt(_localctx, 3);
26437 {
26438 setState(3766);
26439 match(CHECK);
26440 setState(3767);
26441 match(LP_);
26442 setState(3768);
26443 expr(0);
26444 setState(3769);
26445 match(RP_);
26446 }
26447 break;
26448 case 4:
26449 enterOuterAlt(_localctx, 4);
26450 {
26451 setState(3771);
26452 match(WITH);
26453 setState(3772);
26454 indexOption();
26455 }
26456 break;
26457 }
26458 }
26459 catch (RecognitionException re) {
26460 _localctx.exception = re;
26461 _errHandler.reportError(this, re);
26462 _errHandler.recover(this, re);
26463 }
26464 finally {
26465 exitRule();
26466 }
26467 return _localctx;
26468 }
26469
26470 public static class VariableTableConstraintContext extends ParserRuleContext {
26471 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26472 public List<ColumnNameContext> columnName() {
26473 return getRuleContexts(ColumnNameContext.class);
26474 }
26475 public ColumnNameContext columnName(int i) {
26476 return getRuleContext(ColumnNameContext.class,i);
26477 }
26478 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26479 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
26480 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
26481 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
26482 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26483 public TerminalNode COMMA_(int i) {
26484 return getToken(SQLServerStatementParser.COMMA_, i);
26485 }
26486 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
26487 public ExprContext expr() {
26488 return getRuleContext(ExprContext.class,0);
26489 }
26490 public VariableTableConstraintContext(ParserRuleContext parent, int invokingState) {
26491 super(parent, invokingState);
26492 }
26493 @Override public int getRuleIndex() { return RULE_variableTableConstraint; }
26494 @Override
26495 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26496 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableConstraint(this);
26497 else return visitor.visitChildren(this);
26498 }
26499 }
26500
26501 public final VariableTableConstraintContext variableTableConstraint() throws RecognitionException {
26502 VariableTableConstraintContext _localctx = new VariableTableConstraintContext(_ctx, getState());
26503 enterRule(_localctx, 550, RULE_variableTableConstraint);
26504 int _la;
26505 try {
26506 setState(3793);
26507 _errHandler.sync(this);
26508 switch (_input.LA(1)) {
26509 case PRIMARY:
26510 case UNIQUE:
26511 enterOuterAlt(_localctx, 1);
26512 {
26513 setState(3778);
26514 _errHandler.sync(this);
26515 switch (_input.LA(1)) {
26516 case PRIMARY:
26517 {
26518 setState(3775);
26519 match(PRIMARY);
26520 setState(3776);
26521 match(KEY);
26522 }
26523 break;
26524 case UNIQUE:
26525 {
26526 setState(3777);
26527 match(UNIQUE);
26528 }
26529 break;
26530 default:
26531 throw new NoViableAltException(this);
26532 }
26533 setState(3780);
26534 match(LP_);
26535 setState(3781);
26536 columnName();
26537 setState(3786);
26538 _errHandler.sync(this);
26539 _la = _input.LA(1);
26540 while (_la==COMMA_) {
26541 {
26542 {
26543 setState(3782);
26544 match(COMMA_);
26545 setState(3783);
26546 columnName();
26547 }
26548 }
26549 setState(3788);
26550 _errHandler.sync(this);
26551 _la = _input.LA(1);
26552 }
26553 setState(3789);
26554 match(RP_);
26555 }
26556 break;
26557 case CHECK:
26558 enterOuterAlt(_localctx, 2);
26559 {
26560 setState(3791);
26561 match(CHECK);
26562 setState(3792);
26563 expr(0);
26564 }
26565 break;
26566 default:
26567 throw new NoViableAltException(this);
26568 }
26569 }
26570 catch (RecognitionException re) {
26571 _localctx.exception = re;
26572 _errHandler.reportError(this, re);
26573 _errHandler.recover(this, re);
26574 }
26575 finally {
26576 exitRule();
26577 }
26578 return _localctx;
26579 }
26580
26581 public static class SetVariableContext extends ParserRuleContext {
26582 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
26583 public VariableNameContext variableName() {
26584 return getRuleContext(VariableNameContext.class,0);
26585 }
26586 public SetVariableClauseContext setVariableClause() {
26587 return getRuleContext(SetVariableClauseContext.class,0);
26588 }
26589 public SetVariableContext(ParserRuleContext parent, int invokingState) {
26590 super(parent, invokingState);
26591 }
26592 @Override public int getRuleIndex() { return RULE_setVariable; }
26593 @Override
26594 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26595 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariable(this);
26596 else return visitor.visitChildren(this);
26597 }
26598 }
26599
26600 public final SetVariableContext setVariable() throws RecognitionException {
26601 SetVariableContext _localctx = new SetVariableContext(_ctx, getState());
26602 enterRule(_localctx, 552, RULE_setVariable);
26603 try {
26604 enterOuterAlt(_localctx, 1);
26605 {
26606 setState(3795);
26607 match(SET);
26608 setState(3796);
26609 variableName();
26610 setState(3797);
26611 setVariableClause();
26612 }
26613 }
26614 catch (RecognitionException re) {
26615 _localctx.exception = re;
26616 _errHandler.reportError(this, re);
26617 _errHandler.recover(this, re);
26618 }
26619 finally {
26620 exitRule();
26621 }
26622 return _localctx;
26623 }
26624
26625 public static class SetVariableClauseContext extends ParserRuleContext {
26626 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26627 public ExprContext expr() {
26628 return getRuleContext(ExprContext.class,0);
26629 }
26630 public List<IdentifierContext> identifier() {
26631 return getRuleContexts(IdentifierContext.class);
26632 }
26633 public IdentifierContext identifier(int i) {
26634 return getRuleContext(IdentifierContext.class,i);
26635 }
26636 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
26637 public TerminalNode DOT_(int i) {
26638 return getToken(SQLServerStatementParser.DOT_, i);
26639 }
26640 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
26641 public CompoundOperationContext compoundOperation() {
26642 return getRuleContext(CompoundOperationContext.class,0);
26643 }
26644 public CursorVariableContext cursorVariable() {
26645 return getRuleContext(CursorVariableContext.class,0);
26646 }
26647 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26648 public SelectContext select() {
26649 return getRuleContext(SelectContext.class,0);
26650 }
26651 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26652 public SetVariableClauseContext(ParserRuleContext parent, int invokingState) {
26653 super(parent, invokingState);
26654 }
26655 @Override public int getRuleIndex() { return RULE_setVariableClause; }
26656 @Override
26657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariableClause(this);
26659 else return visitor.visitChildren(this);
26660 }
26661 }
26662
26663 public final SetVariableClauseContext setVariableClause() throws RecognitionException {
26664 SetVariableClauseContext _localctx = new SetVariableClauseContext(_ctx, getState());
26665 enterRule(_localctx, 554, RULE_setVariableClause);
26666 int _la;
26667 try {
26668 setState(3822);
26669 _errHandler.sync(this);
26670 switch ( getInterpreter().adaptivePredict(_input,379,_ctx) ) {
26671 case 1:
26672 enterOuterAlt(_localctx, 1);
26673 {
26674 setState(3801);
26675 _errHandler.sync(this);
26676 _la = _input.LA(1);
26677 if (_la==DOT_) {
26678 {
26679 setState(3799);
26680 match(DOT_);
26681 setState(3800);
26682 identifier();
26683 }
26684 }
26685
26686 setState(3803);
26687 match(EQ_);
26688 setState(3810);
26689 _errHandler.sync(this);
26690 switch ( getInterpreter().adaptivePredict(_input,378,_ctx) ) {
26691 case 1:
26692 {
26693 setState(3804);
26694 expr(0);
26695 }
26696 break;
26697 case 2:
26698 {
26699 setState(3805);
26700 identifier();
26701 setState(3806);
26702 match(DOT_);
26703 setState(3807);
26704 identifier();
26705 }
26706 break;
26707 case 3:
26708 {
26709 setState(3809);
26710 match(NCHAR_TEXT);
26711 }
26712 break;
26713 }
26714 }
26715 break;
26716 case 2:
26717 enterOuterAlt(_localctx, 2);
26718 {
26719 setState(3812);
26720 compoundOperation();
26721 setState(3813);
26722 expr(0);
26723 }
26724 break;
26725 case 3:
26726 enterOuterAlt(_localctx, 3);
26727 {
26728 setState(3815);
26729 match(EQ_);
26730 setState(3816);
26731 cursorVariable();
26732 }
26733 break;
26734 case 4:
26735 enterOuterAlt(_localctx, 4);
26736 {
26737 setState(3817);
26738 match(EQ_);
26739 setState(3818);
26740 match(LP_);
26741 setState(3819);
26742 select();
26743 setState(3820);
26744 match(RP_);
26745 }
26746 break;
26747 }
26748 }
26749 catch (RecognitionException re) {
26750 _localctx.exception = re;
26751 _errHandler.reportError(this, re);
26752 _errHandler.recover(this, re);
26753 }
26754 finally {
26755 exitRule();
26756 }
26757 return _localctx;
26758 }
26759
26760 public static class CursorVariableContext extends ParserRuleContext {
26761 public VariableNameContext variableName() {
26762 return getRuleContext(VariableNameContext.class,0);
26763 }
26764 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
26765 public CursorClauseContext cursorClause() {
26766 return getRuleContext(CursorClauseContext.class,0);
26767 }
26768 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
26769 public TerminalNode FOR(int i) {
26770 return getToken(SQLServerStatementParser.FOR, i);
26771 }
26772 public SelectContext select() {
26773 return getRuleContext(SelectContext.class,0);
26774 }
26775 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
26776 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
26777 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
26778 public List<NameContext> name() {
26779 return getRuleContexts(NameContext.class);
26780 }
26781 public NameContext name(int i) {
26782 return getRuleContext(NameContext.class,i);
26783 }
26784 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26785 public TerminalNode COMMA_(int i) {
26786 return getToken(SQLServerStatementParser.COMMA_, i);
26787 }
26788 public CursorVariableContext(ParserRuleContext parent, int invokingState) {
26789 super(parent, invokingState);
26790 }
26791 @Override public int getRuleIndex() { return RULE_cursorVariable; }
26792 @Override
26793 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26794 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorVariable(this);
26795 else return visitor.visitChildren(this);
26796 }
26797 }
26798
26799 public final CursorVariableContext cursorVariable() throws RecognitionException {
26800 CursorVariableContext _localctx = new CursorVariableContext(_ctx, getState());
26801 enterRule(_localctx, 556, RULE_cursorVariable);
26802 int _la;
26803 try {
26804 setState(3843);
26805 _errHandler.sync(this);
26806 switch (_input.LA(1)) {
26807 case TRUNCATE:
26808 case SCHEMA:
26809 case COLUMNS:
26810 case PRECISION:
26811 case FUNCTION:
26812 case TRIGGER:
26813 case CAST:
26814 case TRIM:
26815 case SUBSTRING:
26816 case RIGHT:
26817 case OFF:
26818 case GROUP:
26819 case LIMIT:
26820 case OFFSET:
26821 case SAVEPOINT:
26822 case BOOLEAN:
26823 case ARRAY:
26824 case DATE:
26825 case TIMESTAMP:
26826 case LOCALTIME:
26827 case LOCALTIMESTAMP:
26828 case YEAR:
26829 case QUARTER:
26830 case MONTH:
26831 case WEEK:
26832 case DAY:
26833 case SECOND:
26834 case MICROSECOND:
26835 case MAX:
26836 case MIN:
26837 case SUM:
26838 case COUNT:
26839 case AVG:
26840 case ENABLE:
26841 case DISABLE:
26842 case INSTANCE:
26843 case DO:
26844 case DEFINER:
26845 case SQL:
26846 case CASCADED:
26847 case LOCAL:
26848 case NEXT:
26849 case NAME:
26850 case INTEGER:
26851 case TYPE:
26852 case TEXT:
26853 case VIEWS:
26854 case READ_ONLY:
26855 case DATABASE:
26856 case RETURNS:
26857 case DATEPART:
26858 case PASSWORD:
26859 case BINARY:
26860 case HIDDEN_:
26861 case MOD:
26862 case PARTITION:
26863 case PARTITIONS:
26864 case TOP:
26865 case ROW:
26866 case ROWS:
26867 case XOR:
26868 case ALWAYS:
26869 case USER:
26870 case ROLE:
26871 case START:
26872 case ALGORITHM:
26873 case AUTO:
26874 case BLOCKERS:
26875 case CLUSTERED:
26876 case NONCLUSTERED:
26877 case COLUMNSTORE:
26878 case CONTENT:
26879 case YEARS:
26880 case MONTHS:
26881 case WEEKS:
26882 case DAYS:
26883 case MINUTES:
26884 case DENY:
26885 case DETERMINISTIC:
26886 case DISTRIBUTION:
26887 case DOCUMENT:
26888 case DURABILITY:
26889 case ENCRYPTED:
26890 case FILESTREAM:
26891 case FILETABLE:
26892 case FILLFACTOR:
26893 case FOLLOWING:
26894 case HASH:
26895 case HEAP:
26896 case INBOUND:
26897 case OUTBOUND:
26898 case UNBOUNDED:
26899 case INFINITE:
26900 case LOGIN:
26901 case MASKED:
26902 case MAXDOP:
26903 case MOVE:
26904 case NOCHECK:
26905 case OBJECT:
26906 case ONLINE:
26907 case OVER:
26908 case PAGE:
26909 case PAUSED:
26910 case PERIOD:
26911 case PERSISTED:
26912 case PRECEDING:
26913 case RANDOMIZED:
26914 case RANGE:
26915 case REBUILD:
26916 case REPLICATE:
26917 case REPLICATION:
26918 case RESUMABLE:
26919 case ROWGUIDCOL:
26920 case SAVE:
26921 case SELF:
26922 case SPARSE:
26923 case SWITCH:
26924 case TRAN:
26925 case TRANCOUNT:
26926 case CONTROL:
26927 case CONCAT:
26928 case TAKE:
26929 case OWNERSHIP:
26930 case DEFINITION:
26931 case APPLICATION:
26932 case ASSEMBLY:
26933 case SYMMETRIC:
26934 case ASYMMETRIC:
26935 case SERVER:
26936 case RECEIVE:
26937 case CHANGE:
26938 case TRACE:
26939 case TRACKING:
26940 case RESOURCES:
26941 case SETTINGS:
26942 case STATE:
26943 case AVAILABILITY:
26944 case CREDENTIAL:
26945 case ENDPOINT:
26946 case EVENT:
26947 case NOTIFICATION:
26948 case LINKED:
26949 case AUDIT:
26950 case DDL:
26951 case XML:
26952 case IMPERSONATE:
26953 case SECURABLES:
26954 case AUTHENTICATE:
26955 case EXTERNAL:
26956 case ACCESS:
26957 case ADMINISTER:
26958 case BULK:
26959 case OPERATIONS:
26960 case UNSAFE:
26961 case SHUTDOWN:
26962 case SCOPED:
26963 case CONFIGURATION:
26964 case DATASPACE:
26965 case SERVICE:
26966 case CERTIFICATE:
26967 case CONTRACT:
26968 case ENCRYPTION:
26969 case MASTER:
26970 case DATA:
26971 case SOURCE:
26972 case FILE:
26973 case FORMAT:
26974 case LIBRARY:
26975 case FULLTEXT:
26976 case MASK:
26977 case UNMASK:
26978 case MESSAGE:
26979 case REMOTE:
26980 case BINDING:
26981 case ROUTE:
26982 case SECURITY:
26983 case POLICY:
26984 case AGGREGATE:
26985 case QUEUE:
26986 case RULE:
26987 case SYNONYM:
26988 case COLLECTION:
26989 case SCRIPT:
26990 case KILL:
26991 case BACKUP:
26992 case LOG:
26993 case SHOWPLAN:
26994 case SUBSCRIBE:
26995 case QUERY:
26996 case NOTIFICATIONS:
26997 case CHECKPOINT:
26998 case SEQUENCE:
26999 case ABORT_AFTER_WAIT:
27000 case ALLOW_PAGE_LOCKS:
27001 case ALLOW_ROW_LOCKS:
27002 case ALL_SPARSE_COLUMNS:
27003 case BUCKET_COUNT:
27004 case COLUMNSTORE_ARCHIVE:
27005 case COLUMN_ENCRYPTION_KEY:
27006 case COLUMN_SET:
27007 case COMPRESSION_DELAY:
27008 case DATABASE_DEAULT:
27009 case DATA_COMPRESSION:
27010 case DATA_CONSISTENCY_CHECK:
27011 case ENCRYPTION_TYPE:
27012 case SYSTEM_TIME:
27013 case SYSTEM_VERSIONING:
27014 case TEXTIMAGE_ON:
27015 case WAIT_AT_LOW_PRIORITY:
27016 case STATISTICS_INCREMENTAL:
27017 case STATISTICS_NORECOMPUTE:
27018 case ROUND_ROBIN:
27019 case SCHEMA_AND_DATA:
27020 case SCHEMA_ONLY:
27021 case SORT_IN_TEMPDB:
27022 case IGNORE_DUP_KEY:
27023 case IMPLICIT_TRANSACTIONS:
27024 case MAX_DURATION:
27025 case MEMORY_OPTIMIZED:
27026 case MIGRATION_STATE:
27027 case PAD_INDEX:
27028 case REMOTE_DATA_ARCHIVE:
27029 case FILESTREAM_ON:
27030 case FILETABLE_COLLATE_FILENAME:
27031 case FILETABLE_DIRECTORY:
27032 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
27033 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
27034 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
27035 case FILTER_PREDICATE:
27036 case HISTORY_RETENTION_PERIOD:
27037 case HISTORY_TABLE:
27038 case LOCK_ESCALATION:
27039 case DROP_EXISTING:
27040 case ROW_NUMBER:
27041 case FIRST:
27042 case DATETIME2:
27043 case OUTPUT:
27044 case INSERTED:
27045 case DELETED:
27046 case FILENAME:
27047 case SIZE:
27048 case MAXSIZE:
27049 case FILEGROWTH:
27050 case UNLIMITED:
27051 case KB:
27052 case MB:
27053 case GB:
27054 case TB:
27055 case CONTAINS:
27056 case MEMORY_OPTIMIZED_DATA:
27057 case FILEGROUP:
27058 case NON_TRANSACTED_ACCESS:
27059 case DB_CHAINING:
27060 case TRUSTWORTHY:
27061 case FORWARD_ONLY:
27062 case KEYSET:
27063 case FAST_FORWARD:
27064 case SCROLL_LOCKS:
27065 case OPTIMISTIC:
27066 case TYPE_WARNING:
27067 case SCHEMABINDING:
27068 case CALLER:
27069 case INPUT:
27070 case OWNER:
27071 case SNAPSHOT:
27072 case REPEATABLE:
27073 case SERIALIZABLE:
27074 case NATIVE_COMPILATION:
27075 case VIEW_METADATA:
27076 case INSTEAD:
27077 case APPEND:
27078 case INCREMENT:
27079 case CACHE:
27080 case MINVALUE:
27081 case MAXVALUE:
27082 case RESTART:
27083 case LOB_COMPACTION:
27084 case COMPRESS_ALL_ROW_GROUPS:
27085 case REORGANIZE:
27086 case RESUME:
27087 case PAUSE:
27088 case ABORT:
27089 case ACCELERATED_DATABASE_RECOVERY:
27090 case PERSISTENT_VERSION_STORE_FILEGROUP:
27091 case IMMEDIATE:
27092 case NO_WAIT:
27093 case TARGET_RECOVERY_TIME:
27094 case SECONDS:
27095 case HONOR_BROKER_PRIORITY:
27096 case ERROR_BROKER_CONVERSATIONS:
27097 case NEW_BROKER:
27098 case DISABLE_BROKER:
27099 case ENABLE_BROKER:
27100 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
27101 case READ_COMMITTED_SNAPSHOT:
27102 case ALLOW_SNAPSHOT_ISOLATION:
27103 case RECURSIVE_TRIGGERS:
27104 case QUOTED_IDENTIFIER:
27105 case NUMERIC_ROUNDABORT:
27106 case CONCAT_NULL_YIELDS_NULL:
27107 case COMPATIBILITY_LEVEL:
27108 case ARITHABORT:
27109 case ANSI_WARNINGS:
27110 case ANSI_PADDING:
27111 case ANSI_NULLS:
27112 case ANSI_NULL_DEFAULT:
27113 case PAGE_VERIFY:
27114 case CHECKSUM:
27115 case TORN_PAGE_DETECTION:
27116 case BULK_LOGGED:
27117 case RECOVERY:
27118 case TOTAL_EXECUTION_CPU_TIME_MS:
27119 case TOTAL_COMPILE_CPU_TIME_MS:
27120 case STALE_CAPTURE_POLICY_THRESHOLD:
27121 case EXECUTION_COUNT:
27122 case QUERY_CAPTURE_POLICY:
27123 case WAIT_STATS_CAPTURE_MODE:
27124 case MAX_PLANS_PER_QUERY:
27125 case QUERY_CAPTURE_MODE:
27126 case SIZE_BASED_CLEANUP_MODE:
27127 case INTERVAL_LENGTH_MINUTES:
27128 case MAX_STORAGE_SIZE_MB:
27129 case DATA_FLUSH_INTERVAL_SECONDS:
27130 case CLEANUP_POLICY:
27131 case CUSTOM:
27132 case STALE_QUERY_THRESHOLD_DAYS:
27133 case OPERATION_MODE:
27134 case QUERY_STORE:
27135 case CURSOR_DEFAULT:
27136 case GLOBAL:
27137 case CURSOR_CLOSE_ON_COMMIT:
27138 case HOURS:
27139 case CHANGE_RETENTION:
27140 case AUTO_CLEANUP:
27141 case CHANGE_TRACKING:
27142 case AUTOMATIC_TUNING:
27143 case FORCE_LAST_GOOD_PLAN:
27144 case AUTO_UPDATE_STATISTICS_ASYNC:
27145 case AUTO_UPDATE_STATISTICS:
27146 case AUTO_SHRINK:
27147 case AUTO_CREATE_STATISTICS:
27148 case INCREMENTAL:
27149 case AUTO_CLOSE:
27150 case DATA_RETENTION:
27151 case TEMPORAL_HISTORY_RETENTION:
27152 case EDITION:
27153 case MIXED_PAGE_ALLOCATION:
27154 case DISABLED:
27155 case ALLOWED:
27156 case HADR:
27157 case MULTI_USER:
27158 case RESTRICTED_USER:
27159 case SINGLE_USER:
27160 case OFFLINE:
27161 case EMERGENCY:
27162 case SUSPEND:
27163 case DATE_CORRELATION_OPTIMIZATION:
27164 case ELASTIC_POOL:
27165 case SERVICE_OBJECTIVE:
27166 case DATABASE_NAME:
27167 case ALLOW_CONNECTIONS:
27168 case GEO:
27169 case NAMED:
27170 case DATEFIRST:
27171 case BACKUP_STORAGE_REDUNDANCY:
27172 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
27173 case SECONDARY:
27174 case FAILOVER:
27175 case DEFAULT_FULLTEXT_LANGUAGE:
27176 case DEFAULT_LANGUAGE:
27177 case INLINE:
27178 case NESTED_TRIGGERS:
27179 case TRANSFORM_NOISE_WORDS:
27180 case TWO_DIGIT_YEAR_CUTOFF:
27181 case PERSISTENT_LOG_BUFFER:
27182 case DIRECTORY_NAME:
27183 case DATEFORMAT:
27184 case DELAYED_DURABILITY:
27185 case AUTHORIZATION:
27186 case TRANSFER:
27187 case PROVIDER:
27188 case SID:
27189 case SEARCH:
27190 case MEMBER:
27191 case JSON:
27192 case IDENTIFIER_:
27193 case DELIMITED_IDENTIFIER_:
27194 enterOuterAlt(_localctx, 1);
27195 {
27196 setState(3824);
27197 variableName();
27198 }
27199 break;
27200 case CURSOR:
27201 enterOuterAlt(_localctx, 2);
27202 {
27203 setState(3825);
27204 match(CURSOR);
27205 setState(3826);
27206 cursorClause();
27207 setState(3827);
27208 match(FOR);
27209 setState(3828);
27210 select();
27211 {
27212 setState(3829);
27213 match(FOR);
27214 setState(3841);
27215 _errHandler.sync(this);
27216 switch (_input.LA(1)) {
27217 case READ_ONLY:
27218 {
27219 setState(3830);
27220 match(READ_ONLY);
27221 }
27222 break;
27223 case UPDATE:
27224 {
27225 setState(3831);
27226 match(UPDATE);
27227 {
27228 setState(3832);
27229 match(OF);
27230 setState(3833);
27231 name();
27232 setState(3838);
27233 _errHandler.sync(this);
27234 _la = _input.LA(1);
27235 while (_la==COMMA_) {
27236 {
27237 {
27238 setState(3834);
27239 match(COMMA_);
27240 setState(3835);
27241 name();
27242 }
27243 }
27244 setState(3840);
27245 _errHandler.sync(this);
27246 _la = _input.LA(1);
27247 }
27248 }
27249 }
27250 break;
27251 default:
27252 throw new NoViableAltException(this);
27253 }
27254 }
27255 }
27256 break;
27257 default:
27258 throw new NoViableAltException(this);
27259 }
27260 }
27261 catch (RecognitionException re) {
27262 _localctx.exception = re;
27263 _errHandler.reportError(this, re);
27264 _errHandler.recover(this, re);
27265 }
27266 finally {
27267 exitRule();
27268 }
27269 return _localctx;
27270 }
27271
27272 public static class CursorClauseContext extends ParserRuleContext {
27273 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
27274 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
27275 public TerminalNode SCROLL() { return getToken(SQLServerStatementParser.SCROLL, 0); }
27276 public TerminalNode STATIC() { return getToken(SQLServerStatementParser.STATIC, 0); }
27277 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
27278 public TerminalNode DYNAMIC() { return getToken(SQLServerStatementParser.DYNAMIC, 0); }
27279 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
27280 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
27281 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
27282 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
27283 public CursorClauseContext(ParserRuleContext parent, int invokingState) {
27284 super(parent, invokingState);
27285 }
27286 @Override public int getRuleIndex() { return RULE_cursorClause; }
27287 @Override
27288 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27289 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorClause(this);
27290 else return visitor.visitChildren(this);
27291 }
27292 }
27293
27294 public final CursorClauseContext cursorClause() throws RecognitionException {
27295 CursorClauseContext _localctx = new CursorClauseContext(_ctx, getState());
27296 enterRule(_localctx, 558, RULE_cursorClause);
27297 int _la;
27298 try {
27299 enterOuterAlt(_localctx, 1);
27300 {
27301 setState(3846);
27302 _errHandler.sync(this);
27303 _la = _input.LA(1);
27304 if (_la==FORWARD_ONLY || _la==SCROLL) {
27305 {
27306 setState(3845);
27307 _la = _input.LA(1);
27308 if ( !(_la==FORWARD_ONLY || _la==SCROLL) ) {
27309 _errHandler.recoverInline(this);
27310 }
27311 else {
27312 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27313 _errHandler.reportMatch(this);
27314 consume();
27315 }
27316 }
27317 }
27318
27319 setState(3849);
27320 _errHandler.sync(this);
27321 _la = _input.LA(1);
27322 if (((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (STATIC - 522)) | (1L << (KEYSET - 522)) | (1L << (DYNAMIC - 522)) | (1L << (FAST_FORWARD - 522)))) != 0)) {
27323 {
27324 setState(3848);
27325 _la = _input.LA(1);
27326 if ( !(((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (STATIC - 522)) | (1L << (KEYSET - 522)) | (1L << (DYNAMIC - 522)) | (1L << (FAST_FORWARD - 522)))) != 0)) ) {
27327 _errHandler.recoverInline(this);
27328 }
27329 else {
27330 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27331 _errHandler.reportMatch(this);
27332 consume();
27333 }
27334 }
27335 }
27336
27337 setState(3852);
27338 _errHandler.sync(this);
27339 _la = _input.LA(1);
27340 if (_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) {
27341 {
27342 setState(3851);
27343 _la = _input.LA(1);
27344 if ( !(_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) ) {
27345 _errHandler.recoverInline(this);
27346 }
27347 else {
27348 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27349 _errHandler.reportMatch(this);
27350 consume();
27351 }
27352 }
27353 }
27354
27355 setState(3855);
27356 _errHandler.sync(this);
27357 _la = _input.LA(1);
27358 if (_la==TYPE_WARNING) {
27359 {
27360 setState(3854);
27361 match(TYPE_WARNING);
27362 }
27363 }
27364
27365 }
27366 }
27367 catch (RecognitionException re) {
27368 _localctx.exception = re;
27369 _errHandler.reportError(this, re);
27370 _errHandler.recover(this, re);
27371 }
27372 finally {
27373 exitRule();
27374 }
27375 return _localctx;
27376 }
27377
27378 public static class CompoundOperationContext extends ParserRuleContext {
27379 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
27380 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27381 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
27382 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
27383 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
27384 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
27385 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
27386 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
27387 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
27388 public CompoundOperationContext(ParserRuleContext parent, int invokingState) {
27389 super(parent, invokingState);
27390 }
27391 @Override public int getRuleIndex() { return RULE_compoundOperation; }
27392 @Override
27393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundOperation(this);
27395 else return visitor.visitChildren(this);
27396 }
27397 }
27398
27399 public final CompoundOperationContext compoundOperation() throws RecognitionException {
27400 CompoundOperationContext _localctx = new CompoundOperationContext(_ctx, getState());
27401 enterRule(_localctx, 560, RULE_compoundOperation);
27402 try {
27403 setState(3873);
27404 _errHandler.sync(this);
27405 switch (_input.LA(1)) {
27406 case PLUS_:
27407 enterOuterAlt(_localctx, 1);
27408 {
27409 setState(3857);
27410 match(PLUS_);
27411 setState(3858);
27412 match(EQ_);
27413 }
27414 break;
27415 case MINUS_:
27416 enterOuterAlt(_localctx, 2);
27417 {
27418 setState(3859);
27419 match(MINUS_);
27420 setState(3860);
27421 match(EQ_);
27422 }
27423 break;
27424 case ASTERISK_:
27425 enterOuterAlt(_localctx, 3);
27426 {
27427 setState(3861);
27428 match(ASTERISK_);
27429 setState(3862);
27430 match(EQ_);
27431 }
27432 break;
27433 case SLASH_:
27434 enterOuterAlt(_localctx, 4);
27435 {
27436 setState(3863);
27437 match(SLASH_);
27438 setState(3864);
27439 match(EQ_);
27440 }
27441 break;
27442 case MOD_:
27443 enterOuterAlt(_localctx, 5);
27444 {
27445 setState(3865);
27446 match(MOD_);
27447 setState(3866);
27448 match(EQ_);
27449 }
27450 break;
27451 case AMPERSAND_:
27452 enterOuterAlt(_localctx, 6);
27453 {
27454 setState(3867);
27455 match(AMPERSAND_);
27456 setState(3868);
27457 match(EQ_);
27458 }
27459 break;
27460 case CARET_:
27461 enterOuterAlt(_localctx, 7);
27462 {
27463 setState(3869);
27464 match(CARET_);
27465 setState(3870);
27466 match(EQ_);
27467 }
27468 break;
27469 case VERTICAL_BAR_:
27470 enterOuterAlt(_localctx, 8);
27471 {
27472 setState(3871);
27473 match(VERTICAL_BAR_);
27474 setState(3872);
27475 match(EQ_);
27476 }
27477 break;
27478 default:
27479 throw new NoViableAltException(this);
27480 }
27481 }
27482 catch (RecognitionException re) {
27483 _localctx.exception = re;
27484 _errHandler.reportError(this, re);
27485 _errHandler.recover(this, re);
27486 }
27487 finally {
27488 exitRule();
27489 }
27490 return _localctx;
27491 }
27492
27493 public static class FuncParametersContext extends ParserRuleContext {
27494 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
27495 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
27496 public List<VariableNameContext> variableName() {
27497 return getRuleContexts(VariableNameContext.class);
27498 }
27499 public VariableNameContext variableName(int i) {
27500 return getRuleContext(VariableNameContext.class,i);
27501 }
27502 public List<DataTypeContext> dataType() {
27503 return getRuleContexts(DataTypeContext.class);
27504 }
27505 public DataTypeContext dataType(int i) {
27506 return getRuleContext(DataTypeContext.class,i);
27507 }
27508 public List<TerminalNode> AS() { return getTokens(SQLServerStatementParser.AS); }
27509 public TerminalNode AS(int i) {
27510 return getToken(SQLServerStatementParser.AS, i);
27511 }
27512 public List<OwnerContext> owner() {
27513 return getRuleContexts(OwnerContext.class);
27514 }
27515 public OwnerContext owner(int i) {
27516 return getRuleContext(OwnerContext.class,i);
27517 }
27518 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
27519 public TerminalNode DOT_(int i) {
27520 return getToken(SQLServerStatementParser.DOT_, i);
27521 }
27522 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
27523 public TerminalNode EQ_(int i) {
27524 return getToken(SQLServerStatementParser.EQ_, i);
27525 }
27526 public List<IgnoredIdentifierContext> ignoredIdentifier() {
27527 return getRuleContexts(IgnoredIdentifierContext.class);
27528 }
27529 public IgnoredIdentifierContext ignoredIdentifier(int i) {
27530 return getRuleContext(IgnoredIdentifierContext.class,i);
27531 }
27532 public List<TerminalNode> READONLY() { return getTokens(SQLServerStatementParser.READONLY); }
27533 public TerminalNode READONLY(int i) {
27534 return getToken(SQLServerStatementParser.READONLY, i);
27535 }
27536 public FuncParametersContext(ParserRuleContext parent, int invokingState) {
27537 super(parent, invokingState);
27538 }
27539 @Override public int getRuleIndex() { return RULE_funcParameters; }
27540 @Override
27541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncParameters(this);
27543 else return visitor.visitChildren(this);
27544 }
27545 }
27546
27547 public final FuncParametersContext funcParameters() throws RecognitionException {
27548 FuncParametersContext _localctx = new FuncParametersContext(_ctx, getState());
27549 enterRule(_localctx, 562, RULE_funcParameters);
27550 int _la;
27551 try {
27552 enterOuterAlt(_localctx, 1);
27553 {
27554 setState(3875);
27555 match(LP_);
27556 setState(3895);
27557 _errHandler.sync(this);
27558 _la = _input.LA(1);
27559 while (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (RIGHT - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (TOP - 248)) | (1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (USER - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANDOMIZED - 312)) | (1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (DATA - 376)) | (1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 440)) | (1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
27560 {
27561 {
27562 setState(3876);
27563 variableName();
27564 setState(3878);
27565 _errHandler.sync(this);
27566 _la = _input.LA(1);
27567 if (_la==AS) {
27568 {
27569 setState(3877);
27570 match(AS);
27571 }
27572 }
27573
27574 setState(3883);
27575 _errHandler.sync(this);
27576 switch ( getInterpreter().adaptivePredict(_input,389,_ctx) ) {
27577 case 1:
27578 {
27579 setState(3880);
27580 owner();
27581 setState(3881);
27582 match(DOT_);
27583 }
27584 break;
27585 }
27586 setState(3885);
27587 dataType();
27588 setState(3888);
27589 _errHandler.sync(this);
27590 _la = _input.LA(1);
27591 if (_la==EQ_) {
27592 {
27593 setState(3886);
27594 match(EQ_);
27595 setState(3887);
27596 ignoredIdentifier();
27597 }
27598 }
27599
27600 setState(3891);
27601 _errHandler.sync(this);
27602 _la = _input.LA(1);
27603 if (_la==READONLY) {
27604 {
27605 setState(3890);
27606 match(READONLY);
27607 }
27608 }
27609
27610 }
27611 }
27612 setState(3897);
27613 _errHandler.sync(this);
27614 _la = _input.LA(1);
27615 }
27616 setState(3898);
27617 match(RP_);
27618 }
27619 }
27620 catch (RecognitionException re) {
27621 _localctx.exception = re;
27622 _errHandler.reportError(this, re);
27623 _errHandler.recover(this, re);
27624 }
27625 finally {
27626 exitRule();
27627 }
27628 return _localctx;
27629 }
27630
27631 public static class FuncReturnsContext extends ParserRuleContext {
27632 public FuncScalarReturnContext funcScalarReturn() {
27633 return getRuleContext(FuncScalarReturnContext.class,0);
27634 }
27635 public FuncInlineReturnContext funcInlineReturn() {
27636 return getRuleContext(FuncInlineReturnContext.class,0);
27637 }
27638 public FuncMutiReturnContext funcMutiReturn() {
27639 return getRuleContext(FuncMutiReturnContext.class,0);
27640 }
27641 public FuncReturnsContext(ParserRuleContext parent, int invokingState) {
27642 super(parent, invokingState);
27643 }
27644 @Override public int getRuleIndex() { return RULE_funcReturns; }
27645 @Override
27646 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27647 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncReturns(this);
27648 else return visitor.visitChildren(this);
27649 }
27650 }
27651
27652 public final FuncReturnsContext funcReturns() throws RecognitionException {
27653 FuncReturnsContext _localctx = new FuncReturnsContext(_ctx, getState());
27654 enterRule(_localctx, 564, RULE_funcReturns);
27655 try {
27656 setState(3903);
27657 _errHandler.sync(this);
27658 switch ( getInterpreter().adaptivePredict(_input,393,_ctx) ) {
27659 case 1:
27660 enterOuterAlt(_localctx, 1);
27661 {
27662 setState(3900);
27663 funcScalarReturn();
27664 }
27665 break;
27666 case 2:
27667 enterOuterAlt(_localctx, 2);
27668 {
27669 setState(3901);
27670 funcInlineReturn();
27671 }
27672 break;
27673 case 3:
27674 enterOuterAlt(_localctx, 3);
27675 {
27676 setState(3902);
27677 funcMutiReturn();
27678 }
27679 break;
27680 }
27681 }
27682 catch (RecognitionException re) {
27683 _localctx.exception = re;
27684 _errHandler.reportError(this, re);
27685 _errHandler.recover(this, re);
27686 }
27687 finally {
27688 exitRule();
27689 }
27690 return _localctx;
27691 }
27692
27693 public static class FuncMutiReturnContext extends ParserRuleContext {
27694 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27695 public VariableNameContext variableName() {
27696 return getRuleContext(VariableNameContext.class,0);
27697 }
27698 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
27699 public CreateTableDefinitionsContext createTableDefinitions() {
27700 return getRuleContext(CreateTableDefinitionsContext.class,0);
27701 }
27702 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27703 public CompoundStatementContext compoundStatement() {
27704 return getRuleContext(CompoundStatementContext.class,0);
27705 }
27706 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27707 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
27708 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27709 public List<FunctionOptionContext> functionOption() {
27710 return getRuleContexts(FunctionOptionContext.class);
27711 }
27712 public FunctionOptionContext functionOption(int i) {
27713 return getRuleContext(FunctionOptionContext.class,i);
27714 }
27715 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27716 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27717 public TerminalNode COMMA_(int i) {
27718 return getToken(SQLServerStatementParser.COMMA_, i);
27719 }
27720 public FuncMutiReturnContext(ParserRuleContext parent, int invokingState) {
27721 super(parent, invokingState);
27722 }
27723 @Override public int getRuleIndex() { return RULE_funcMutiReturn; }
27724 @Override
27725 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27726 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncMutiReturn(this);
27727 else return visitor.visitChildren(this);
27728 }
27729 }
27730
27731 public final FuncMutiReturnContext funcMutiReturn() throws RecognitionException {
27732 FuncMutiReturnContext _localctx = new FuncMutiReturnContext(_ctx, getState());
27733 enterRule(_localctx, 566, RULE_funcMutiReturn);
27734 int _la;
27735 try {
27736 enterOuterAlt(_localctx, 1);
27737 {
27738 setState(3905);
27739 match(RETURNS);
27740 setState(3906);
27741 variableName();
27742 setState(3907);
27743 match(TABLE);
27744 setState(3908);
27745 createTableDefinitions();
27746 setState(3918);
27747 _errHandler.sync(this);
27748 _la = _input.LA(1);
27749 if (_la==WITH) {
27750 {
27751 setState(3909);
27752 match(WITH);
27753 setState(3910);
27754 functionOption();
27755 setState(3915);
27756 _errHandler.sync(this);
27757 _la = _input.LA(1);
27758 while (_la==COMMA_) {
27759 {
27760 {
27761 setState(3911);
27762 match(COMMA_);
27763 setState(3912);
27764 functionOption();
27765 }
27766 }
27767 setState(3917);
27768 _errHandler.sync(this);
27769 _la = _input.LA(1);
27770 }
27771 }
27772 }
27773
27774 setState(3921);
27775 _errHandler.sync(this);
27776 _la = _input.LA(1);
27777 if (_la==AS) {
27778 {
27779 setState(3920);
27780 match(AS);
27781 }
27782 }
27783
27784 setState(3923);
27785 match(BEGIN);
27786 setState(3924);
27787 compoundStatement();
27788 setState(3925);
27789 match(RETURN);
27790 setState(3926);
27791 match(END);
27792 }
27793 }
27794 catch (RecognitionException re) {
27795 _localctx.exception = re;
27796 _errHandler.reportError(this, re);
27797 _errHandler.recover(this, re);
27798 }
27799 finally {
27800 exitRule();
27801 }
27802 return _localctx;
27803 }
27804
27805 public static class FuncInlineReturnContext extends ParserRuleContext {
27806 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27807 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
27808 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27809 public SelectContext select() {
27810 return getRuleContext(SelectContext.class,0);
27811 }
27812 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27813 public List<FunctionOptionContext> functionOption() {
27814 return getRuleContexts(FunctionOptionContext.class);
27815 }
27816 public FunctionOptionContext functionOption(int i) {
27817 return getRuleContext(FunctionOptionContext.class,i);
27818 }
27819 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27820 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
27821 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
27822 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27823 public TerminalNode COMMA_(int i) {
27824 return getToken(SQLServerStatementParser.COMMA_, i);
27825 }
27826 public FuncInlineReturnContext(ParserRuleContext parent, int invokingState) {
27827 super(parent, invokingState);
27828 }
27829 @Override public int getRuleIndex() { return RULE_funcInlineReturn; }
27830 @Override
27831 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27832 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncInlineReturn(this);
27833 else return visitor.visitChildren(this);
27834 }
27835 }
27836
27837 public final FuncInlineReturnContext funcInlineReturn() throws RecognitionException {
27838 FuncInlineReturnContext _localctx = new FuncInlineReturnContext(_ctx, getState());
27839 enterRule(_localctx, 568, RULE_funcInlineReturn);
27840 int _la;
27841 try {
27842 enterOuterAlt(_localctx, 1);
27843 {
27844 setState(3928);
27845 match(RETURNS);
27846 setState(3929);
27847 match(TABLE);
27848 setState(3939);
27849 _errHandler.sync(this);
27850 _la = _input.LA(1);
27851 if (_la==WITH) {
27852 {
27853 setState(3930);
27854 match(WITH);
27855 setState(3931);
27856 functionOption();
27857 setState(3936);
27858 _errHandler.sync(this);
27859 _la = _input.LA(1);
27860 while (_la==COMMA_) {
27861 {
27862 {
27863 setState(3932);
27864 match(COMMA_);
27865 setState(3933);
27866 functionOption();
27867 }
27868 }
27869 setState(3938);
27870 _errHandler.sync(this);
27871 _la = _input.LA(1);
27872 }
27873 }
27874 }
27875
27876 setState(3942);
27877 _errHandler.sync(this);
27878 _la = _input.LA(1);
27879 if (_la==AS) {
27880 {
27881 setState(3941);
27882 match(AS);
27883 }
27884 }
27885
27886 setState(3944);
27887 match(RETURN);
27888 setState(3946);
27889 _errHandler.sync(this);
27890 _la = _input.LA(1);
27891 if (_la==LP_) {
27892 {
27893 setState(3945);
27894 match(LP_);
27895 }
27896 }
27897
27898 setState(3948);
27899 select();
27900 setState(3950);
27901 _errHandler.sync(this);
27902 _la = _input.LA(1);
27903 if (_la==RP_) {
27904 {
27905 setState(3949);
27906 match(RP_);
27907 }
27908 }
27909
27910 }
27911 }
27912 catch (RecognitionException re) {
27913 _localctx.exception = re;
27914 _errHandler.reportError(this, re);
27915 _errHandler.recover(this, re);
27916 }
27917 finally {
27918 exitRule();
27919 }
27920 return _localctx;
27921 }
27922
27923 public static class FuncScalarReturnContext extends ParserRuleContext {
27924 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27925 public DataTypeContext dataType() {
27926 return getRuleContext(DataTypeContext.class,0);
27927 }
27928 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27929 public CompoundStatementContext compoundStatement() {
27930 return getRuleContext(CompoundStatementContext.class,0);
27931 }
27932 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27933 public ExprContext expr() {
27934 return getRuleContext(ExprContext.class,0);
27935 }
27936 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27937 public List<FunctionOptionContext> functionOption() {
27938 return getRuleContexts(FunctionOptionContext.class);
27939 }
27940 public FunctionOptionContext functionOption(int i) {
27941 return getRuleContext(FunctionOptionContext.class,i);
27942 }
27943 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27944 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27945 public TerminalNode COMMA_(int i) {
27946 return getToken(SQLServerStatementParser.COMMA_, i);
27947 }
27948 public FuncScalarReturnContext(ParserRuleContext parent, int invokingState) {
27949 super(parent, invokingState);
27950 }
27951 @Override public int getRuleIndex() { return RULE_funcScalarReturn; }
27952 @Override
27953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27954 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncScalarReturn(this);
27955 else return visitor.visitChildren(this);
27956 }
27957 }
27958
27959 public final FuncScalarReturnContext funcScalarReturn() throws RecognitionException {
27960 FuncScalarReturnContext _localctx = new FuncScalarReturnContext(_ctx, getState());
27961 enterRule(_localctx, 570, RULE_funcScalarReturn);
27962 int _la;
27963 try {
27964 enterOuterAlt(_localctx, 1);
27965 {
27966 setState(3952);
27967 match(RETURNS);
27968 setState(3953);
27969 dataType();
27970 setState(3963);
27971 _errHandler.sync(this);
27972 _la = _input.LA(1);
27973 if (_la==WITH) {
27974 {
27975 setState(3954);
27976 match(WITH);
27977 setState(3955);
27978 functionOption();
27979 setState(3960);
27980 _errHandler.sync(this);
27981 _la = _input.LA(1);
27982 while (_la==COMMA_) {
27983 {
27984 {
27985 setState(3956);
27986 match(COMMA_);
27987 setState(3957);
27988 functionOption();
27989 }
27990 }
27991 setState(3962);
27992 _errHandler.sync(this);
27993 _la = _input.LA(1);
27994 }
27995 }
27996 }
27997
27998 setState(3966);
27999 _errHandler.sync(this);
28000 _la = _input.LA(1);
28001 if (_la==AS) {
28002 {
28003 setState(3965);
28004 match(AS);
28005 }
28006 }
28007
28008 setState(3968);
28009 match(BEGIN);
28010 setState(3969);
28011 compoundStatement();
28012 setState(3970);
28013 match(RETURN);
28014 setState(3971);
28015 expr(0);
28016 }
28017 }
28018 catch (RecognitionException re) {
28019 _localctx.exception = re;
28020 _errHandler.reportError(this, re);
28021 _errHandler.recover(this, re);
28022 }
28023 finally {
28024 exitRule();
28025 }
28026 return _localctx;
28027 }
28028
28029 public static class TableTypeDefinitionContext extends ParserRuleContext {
28030 public ColumnDefinitionContext columnDefinition() {
28031 return getRuleContext(ColumnDefinitionContext.class,0);
28032 }
28033 public ColumnConstraintContext columnConstraint() {
28034 return getRuleContext(ColumnConstraintContext.class,0);
28035 }
28036 public ComputedColumnDefinitionContext computedColumnDefinition() {
28037 return getRuleContext(ComputedColumnDefinitionContext.class,0);
28038 }
28039 public List<TableConstraintContext> tableConstraint() {
28040 return getRuleContexts(TableConstraintContext.class);
28041 }
28042 public TableConstraintContext tableConstraint(int i) {
28043 return getRuleContext(TableConstraintContext.class,i);
28044 }
28045 public TableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
28046 super(parent, invokingState);
28047 }
28048 @Override public int getRuleIndex() { return RULE_tableTypeDefinition; }
28049 @Override
28050 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28051 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableTypeDefinition(this);
28052 else return visitor.visitChildren(this);
28053 }
28054 }
28055
28056 public final TableTypeDefinitionContext tableTypeDefinition() throws RecognitionException {
28057 TableTypeDefinitionContext _localctx = new TableTypeDefinitionContext(_ctx, getState());
28058 enterRule(_localctx, 572, RULE_tableTypeDefinition);
28059 int _la;
28060 try {
28061 enterOuterAlt(_localctx, 1);
28062 {
28063 setState(3977);
28064 _errHandler.sync(this);
28065 switch ( getInterpreter().adaptivePredict(_input,405,_ctx) ) {
28066 case 1:
28067 {
28068 setState(3973);
28069 columnDefinition();
28070 setState(3974);
28071 columnConstraint();
28072 }
28073 break;
28074 case 2:
28075 {
28076 setState(3976);
28077 computedColumnDefinition();
28078 }
28079 break;
28080 }
28081 setState(3982);
28082 _errHandler.sync(this);
28083 _la = _input.LA(1);
28084 while (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (CONSTRAINT - 31)) | (1L << (PRIMARY - 31)) | (1L << (UNIQUE - 31)) | (1L << (FOREIGN - 31)) | (1L << (KEY - 31)))) != 0) || _la==CHECK) {
28085 {
28086 {
28087 setState(3979);
28088 tableConstraint();
28089 }
28090 }
28091 setState(3984);
28092 _errHandler.sync(this);
28093 _la = _input.LA(1);
28094 }
28095 }
28096 }
28097 catch (RecognitionException re) {
28098 _localctx.exception = re;
28099 _errHandler.reportError(this, re);
28100 _errHandler.recover(this, re);
28101 }
28102 finally {
28103 exitRule();
28104 }
28105 return _localctx;
28106 }
28107
28108 public static class CompoundStatementContext extends ParserRuleContext {
28109 public List<ValidStatementContext> validStatement() {
28110 return getRuleContexts(ValidStatementContext.class);
28111 }
28112 public ValidStatementContext validStatement(int i) {
28113 return getRuleContext(ValidStatementContext.class,i);
28114 }
28115 public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
28116 super(parent, invokingState);
28117 }
28118 @Override public int getRuleIndex() { return RULE_compoundStatement; }
28119 @Override
28120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28121 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundStatement(this);
28122 else return visitor.visitChildren(this);
28123 }
28124 }
28125
28126 public final CompoundStatementContext compoundStatement() throws RecognitionException {
28127 CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
28128 enterRule(_localctx, 574, RULE_compoundStatement);
28129 int _la;
28130 try {
28131 enterOuterAlt(_localctx, 1);
28132 {
28133 setState(3988);
28134 _errHandler.sync(this);
28135 _la = _input.LA(1);
28136 while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (SELECT - 46)) | (1L << (INSERT - 46)) | (1L << (UPDATE - 46)) | (1L << (DELETE - 46)) | (1L << (CREATE - 46)) | (1L << (ALTER - 46)) | (1L << (DROP - 46)) | (1L << (TRUNCATE - 46)) | (1L << (SET - 46)) | (1L << (WITH - 46)))) != 0) || _la==DECLARE) {
28137 {
28138 {
28139 setState(3985);
28140 validStatement();
28141 }
28142 }
28143 setState(3990);
28144 _errHandler.sync(this);
28145 _la = _input.LA(1);
28146 }
28147 }
28148 }
28149 catch (RecognitionException re) {
28150 _localctx.exception = re;
28151 _errHandler.reportError(this, re);
28152 _errHandler.recover(this, re);
28153 }
28154 finally {
28155 exitRule();
28156 }
28157 return _localctx;
28158 }
28159
28160 public static class FunctionOptionContext extends ParserRuleContext {
28161 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28162 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28163 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
28164 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
28165 public TerminalNode NULL(int i) {
28166 return getToken(SQLServerStatementParser.NULL, i);
28167 }
28168 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
28169 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
28170 public TerminalNode CALLED() { return getToken(SQLServerStatementParser.CALLED, 0); }
28171 public ExecuteAsClauseContext executeAsClause() {
28172 return getRuleContext(ExecuteAsClauseContext.class,0);
28173 }
28174 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
28175 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28176 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
28177 public FunctionOptionContext(ParserRuleContext parent, int invokingState) {
28178 super(parent, invokingState);
28179 }
28180 @Override public int getRuleIndex() { return RULE_functionOption; }
28181 @Override
28182 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28183 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionOption(this);
28184 else return visitor.visitChildren(this);
28185 }
28186 }
28187
28188 public final FunctionOptionContext functionOption() throws RecognitionException {
28189 FunctionOptionContext _localctx = new FunctionOptionContext(_ctx, getState());
28190 enterRule(_localctx, 576, RULE_functionOption);
28191 int _la;
28192 try {
28193 setState(4016);
28194 _errHandler.sync(this);
28195 switch ( getInterpreter().adaptivePredict(_input,413,_ctx) ) {
28196 case 1:
28197 enterOuterAlt(_localctx, 1);
28198 {
28199 setState(3992);
28200 _errHandler.sync(this);
28201 _la = _input.LA(1);
28202 if (_la==ENCRYPTION) {
28203 {
28204 setState(3991);
28205 match(ENCRYPTION);
28206 }
28207 }
28208
28209 }
28210 break;
28211 case 2:
28212 enterOuterAlt(_localctx, 2);
28213 {
28214 setState(3995);
28215 _errHandler.sync(this);
28216 _la = _input.LA(1);
28217 if (_la==SCHEMABINDING) {
28218 {
28219 setState(3994);
28220 match(SCHEMABINDING);
28221 }
28222 }
28223
28224 }
28225 break;
28226 case 3:
28227 enterOuterAlt(_localctx, 3);
28228 {
28229 setState(4006);
28230 _errHandler.sync(this);
28231 switch (_input.LA(1)) {
28232 case RETURNS:
28233 {
28234 setState(3997);
28235 match(RETURNS);
28236 setState(3998);
28237 match(NULL);
28238 setState(3999);
28239 match(ON);
28240 setState(4000);
28241 match(NULL);
28242 setState(4001);
28243 match(INPUT);
28244 }
28245 break;
28246 case CALLED:
28247 {
28248 setState(4002);
28249 match(CALLED);
28250 setState(4003);
28251 match(ON);
28252 setState(4004);
28253 match(NULL);
28254 setState(4005);
28255 match(INPUT);
28256 }
28257 break;
28258 case COMMA_:
28259 case AS:
28260 case BEGIN:
28261 case RETURN:
28262 break;
28263 default:
28264 break;
28265 }
28266 }
28267 break;
28268 case 4:
28269 enterOuterAlt(_localctx, 4);
28270 {
28271 setState(4009);
28272 _errHandler.sync(this);
28273 _la = _input.LA(1);
28274 if (_la==EXECUTE || _la==EXEC) {
28275 {
28276 setState(4008);
28277 executeAsClause();
28278 }
28279 }
28280
28281 }
28282 break;
28283 case 5:
28284 enterOuterAlt(_localctx, 5);
28285 {
28286 setState(4014);
28287 _errHandler.sync(this);
28288 _la = _input.LA(1);
28289 if (_la==INLINE) {
28290 {
28291 setState(4011);
28292 match(INLINE);
28293 setState(4012);
28294 match(EQ_);
28295 setState(4013);
28296 _la = _input.LA(1);
28297 if ( !(_la==ON || _la==OFF) ) {
28298 _errHandler.recoverInline(this);
28299 }
28300 else {
28301 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28302 _errHandler.reportMatch(this);
28303 consume();
28304 }
28305 }
28306 }
28307
28308 }
28309 break;
28310 }
28311 }
28312 catch (RecognitionException re) {
28313 _localctx.exception = re;
28314 _errHandler.reportError(this, re);
28315 _errHandler.recover(this, re);
28316 }
28317 finally {
28318 exitRule();
28319 }
28320 return _localctx;
28321 }
28322
28323 public static class ValidStatementContext extends ParserRuleContext {
28324 public CreateTableContext createTable() {
28325 return getRuleContext(CreateTableContext.class,0);
28326 }
28327 public AlterTableContext alterTable() {
28328 return getRuleContext(AlterTableContext.class,0);
28329 }
28330 public DropTableContext dropTable() {
28331 return getRuleContext(DropTableContext.class,0);
28332 }
28333 public TruncateTableContext truncateTable() {
28334 return getRuleContext(TruncateTableContext.class,0);
28335 }
28336 public InsertContext insert() {
28337 return getRuleContext(InsertContext.class,0);
28338 }
28339 public UpdateContext update() {
28340 return getRuleContext(UpdateContext.class,0);
28341 }
28342 public DeleteContext delete() {
28343 return getRuleContext(DeleteContext.class,0);
28344 }
28345 public SelectContext select() {
28346 return getRuleContext(SelectContext.class,0);
28347 }
28348 public SetVariableContext setVariable() {
28349 return getRuleContext(SetVariableContext.class,0);
28350 }
28351 public DeclareVariableContext declareVariable() {
28352 return getRuleContext(DeclareVariableContext.class,0);
28353 }
28354 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
28355 public ValidStatementContext(ParserRuleContext parent, int invokingState) {
28356 super(parent, invokingState);
28357 }
28358 @Override public int getRuleIndex() { return RULE_validStatement; }
28359 @Override
28360 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28361 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitValidStatement(this);
28362 else return visitor.visitChildren(this);
28363 }
28364 }
28365
28366 public final ValidStatementContext validStatement() throws RecognitionException {
28367 ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
28368 enterRule(_localctx, 578, RULE_validStatement);
28369 try {
28370 enterOuterAlt(_localctx, 1);
28371 {
28372 setState(4028);
28373 _errHandler.sync(this);
28374 switch ( getInterpreter().adaptivePredict(_input,414,_ctx) ) {
28375 case 1:
28376 {
28377 setState(4018);
28378 createTable();
28379 }
28380 break;
28381 case 2:
28382 {
28383 setState(4019);
28384 alterTable();
28385 }
28386 break;
28387 case 3:
28388 {
28389 setState(4020);
28390 dropTable();
28391 }
28392 break;
28393 case 4:
28394 {
28395 setState(4021);
28396 truncateTable();
28397 }
28398 break;
28399 case 5:
28400 {
28401 setState(4022);
28402 insert();
28403 }
28404 break;
28405 case 6:
28406 {
28407 setState(4023);
28408 update();
28409 }
28410 break;
28411 case 7:
28412 {
28413 setState(4024);
28414 delete();
28415 }
28416 break;
28417 case 8:
28418 {
28419 setState(4025);
28420 select();
28421 }
28422 break;
28423 case 9:
28424 {
28425 setState(4026);
28426 setVariable();
28427 }
28428 break;
28429 case 10:
28430 {
28431 setState(4027);
28432 declareVariable();
28433 }
28434 break;
28435 }
28436 setState(4031);
28437 _errHandler.sync(this);
28438 switch ( getInterpreter().adaptivePredict(_input,415,_ctx) ) {
28439 case 1:
28440 {
28441 setState(4030);
28442 match(SEMI_);
28443 }
28444 break;
28445 }
28446 }
28447 }
28448 catch (RecognitionException re) {
28449 _localctx.exception = re;
28450 _errHandler.reportError(this, re);
28451 _errHandler.recover(this, re);
28452 }
28453 finally {
28454 exitRule();
28455 }
28456 return _localctx;
28457 }
28458
28459 public static class ProcParametersContext extends ParserRuleContext {
28460 public List<ProcParameterContext> procParameter() {
28461 return getRuleContexts(ProcParameterContext.class);
28462 }
28463 public ProcParameterContext procParameter(int i) {
28464 return getRuleContext(ProcParameterContext.class,i);
28465 }
28466 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28467 public TerminalNode COMMA_(int i) {
28468 return getToken(SQLServerStatementParser.COMMA_, i);
28469 }
28470 public ProcParametersContext(ParserRuleContext parent, int invokingState) {
28471 super(parent, invokingState);
28472 }
28473 @Override public int getRuleIndex() { return RULE_procParameters; }
28474 @Override
28475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameters(this);
28477 else return visitor.visitChildren(this);
28478 }
28479 }
28480
28481 public final ProcParametersContext procParameters() throws RecognitionException {
28482 ProcParametersContext _localctx = new ProcParametersContext(_ctx, getState());
28483 enterRule(_localctx, 580, RULE_procParameters);
28484 int _la;
28485 try {
28486 enterOuterAlt(_localctx, 1);
28487 {
28488 setState(4041);
28489 _errHandler.sync(this);
28490 _la = _input.LA(1);
28491 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (RIGHT - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (TOP - 248)) | (1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (USER - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANDOMIZED - 312)) | (1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (DATA - 376)) | (1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 440)) | (1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
28492 {
28493 setState(4033);
28494 procParameter();
28495 setState(4038);
28496 _errHandler.sync(this);
28497 _la = _input.LA(1);
28498 while (_la==COMMA_) {
28499 {
28500 {
28501 setState(4034);
28502 match(COMMA_);
28503 setState(4035);
28504 procParameter();
28505 }
28506 }
28507 setState(4040);
28508 _errHandler.sync(this);
28509 _la = _input.LA(1);
28510 }
28511 }
28512 }
28513
28514 }
28515 }
28516 catch (RecognitionException re) {
28517 _localctx.exception = re;
28518 _errHandler.reportError(this, re);
28519 _errHandler.recover(this, re);
28520 }
28521 finally {
28522 exitRule();
28523 }
28524 return _localctx;
28525 }
28526
28527 public static class ProcParameterContext extends ParserRuleContext {
28528 public VariableContext variable() {
28529 return getRuleContext(VariableContext.class,0);
28530 }
28531 public TerminalNode VARYING() { return getToken(SQLServerStatementParser.VARYING, 0); }
28532 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28533 public LiteralsContext literals() {
28534 return getRuleContext(LiteralsContext.class,0);
28535 }
28536 public TerminalNode OUT() { return getToken(SQLServerStatementParser.OUT, 0); }
28537 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
28538 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
28539 public ProcParameterContext(ParserRuleContext parent, int invokingState) {
28540 super(parent, invokingState);
28541 }
28542 @Override public int getRuleIndex() { return RULE_procParameter; }
28543 @Override
28544 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28545 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameter(this);
28546 else return visitor.visitChildren(this);
28547 }
28548 }
28549
28550 public final ProcParameterContext procParameter() throws RecognitionException {
28551 ProcParameterContext _localctx = new ProcParameterContext(_ctx, getState());
28552 enterRule(_localctx, 582, RULE_procParameter);
28553 int _la;
28554 try {
28555 enterOuterAlt(_localctx, 1);
28556 {
28557 setState(4043);
28558 variable();
28559 setState(4045);
28560 _errHandler.sync(this);
28561 _la = _input.LA(1);
28562 if (_la==VARYING) {
28563 {
28564 setState(4044);
28565 match(VARYING);
28566 }
28567 }
28568
28569 setState(4049);
28570 _errHandler.sync(this);
28571 _la = _input.LA(1);
28572 if (_la==EQ_) {
28573 {
28574 setState(4047);
28575 match(EQ_);
28576 setState(4048);
28577 literals();
28578 }
28579 }
28580
28581 setState(4052);
28582 _errHandler.sync(this);
28583 _la = _input.LA(1);
28584 if (_la==READONLY || _la==OUTPUT || _la==OUT) {
28585 {
28586 setState(4051);
28587 _la = _input.LA(1);
28588 if ( !(_la==READONLY || _la==OUTPUT || _la==OUT) ) {
28589 _errHandler.recoverInline(this);
28590 }
28591 else {
28592 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28593 _errHandler.reportMatch(this);
28594 consume();
28595 }
28596 }
28597 }
28598
28599 }
28600 }
28601 catch (RecognitionException re) {
28602 _localctx.exception = re;
28603 _errHandler.reportError(this, re);
28604 _errHandler.recover(this, re);
28605 }
28606 finally {
28607 exitRule();
28608 }
28609 return _localctx;
28610 }
28611
28612 public static class CreateOrAlterProcClauseContext extends ParserRuleContext {
28613 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28614 public ProcAsClauseContext procAsClause() {
28615 return getRuleContext(ProcAsClauseContext.class,0);
28616 }
28617 public WithCreateProcOptionContext withCreateProcOption() {
28618 return getRuleContext(WithCreateProcOptionContext.class,0);
28619 }
28620 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
28621 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
28622 public CreateOrAlterProcClauseContext(ParserRuleContext parent, int invokingState) {
28623 super(parent, invokingState);
28624 }
28625 @Override public int getRuleIndex() { return RULE_createOrAlterProcClause; }
28626 @Override
28627 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28628 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterProcClause(this);
28629 else return visitor.visitChildren(this);
28630 }
28631 }
28632
28633 public final CreateOrAlterProcClauseContext createOrAlterProcClause() throws RecognitionException {
28634 CreateOrAlterProcClauseContext _localctx = new CreateOrAlterProcClauseContext(_ctx, getState());
28635 enterRule(_localctx, 584, RULE_createOrAlterProcClause);
28636 int _la;
28637 try {
28638 enterOuterAlt(_localctx, 1);
28639 {
28640 setState(4055);
28641 _errHandler.sync(this);
28642 _la = _input.LA(1);
28643 if (_la==WITH) {
28644 {
28645 setState(4054);
28646 withCreateProcOption();
28647 }
28648 }
28649
28650 setState(4059);
28651 _errHandler.sync(this);
28652 _la = _input.LA(1);
28653 if (_la==FOR) {
28654 {
28655 setState(4057);
28656 match(FOR);
28657 setState(4058);
28658 match(REPLICATION);
28659 }
28660 }
28661
28662 setState(4061);
28663 match(AS);
28664 setState(4062);
28665 procAsClause();
28666 }
28667 }
28668 catch (RecognitionException re) {
28669 _localctx.exception = re;
28670 _errHandler.reportError(this, re);
28671 _errHandler.recover(this, re);
28672 }
28673 finally {
28674 exitRule();
28675 }
28676 return _localctx;
28677 }
28678
28679 public static class WithCreateProcOptionContext extends ParserRuleContext {
28680 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28681 public List<ProcOptionContext> procOption() {
28682 return getRuleContexts(ProcOptionContext.class);
28683 }
28684 public ProcOptionContext procOption(int i) {
28685 return getRuleContext(ProcOptionContext.class,i);
28686 }
28687 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28688 public TerminalNode COMMA_(int i) {
28689 return getToken(SQLServerStatementParser.COMMA_, i);
28690 }
28691 public WithCreateProcOptionContext(ParserRuleContext parent, int invokingState) {
28692 super(parent, invokingState);
28693 }
28694 @Override public int getRuleIndex() { return RULE_withCreateProcOption; }
28695 @Override
28696 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28697 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCreateProcOption(this);
28698 else return visitor.visitChildren(this);
28699 }
28700 }
28701
28702 public final WithCreateProcOptionContext withCreateProcOption() throws RecognitionException {
28703 WithCreateProcOptionContext _localctx = new WithCreateProcOptionContext(_ctx, getState());
28704 enterRule(_localctx, 586, RULE_withCreateProcOption);
28705 int _la;
28706 try {
28707 enterOuterAlt(_localctx, 1);
28708 {
28709 setState(4064);
28710 match(WITH);
28711 setState(4073);
28712 _errHandler.sync(this);
28713 _la = _input.LA(1);
28714 if (((((_la - 326)) & ~0x3f) == 0 && ((1L << (_la - 326)) & ((1L << (EXECUTE - 326)) | (1L << (EXEC - 326)) | (1L << (ENCRYPTION - 326)))) != 0) || ((((_la - 497)) & ~0x3f) == 0 && ((1L << (_la - 497)) & ((1L << (RECOMPILE - 497)) | (1L << (SCHEMABINDING - 497)) | (1L << (NATIVE_COMPILATION - 497)))) != 0)) {
28715 {
28716 setState(4065);
28717 procOption();
28718 setState(4070);
28719 _errHandler.sync(this);
28720 _la = _input.LA(1);
28721 while (_la==COMMA_) {
28722 {
28723 {
28724 setState(4066);
28725 match(COMMA_);
28726 setState(4067);
28727 procOption();
28728 }
28729 }
28730 setState(4072);
28731 _errHandler.sync(this);
28732 _la = _input.LA(1);
28733 }
28734 }
28735 }
28736
28737 }
28738 }
28739 catch (RecognitionException re) {
28740 _localctx.exception = re;
28741 _errHandler.reportError(this, re);
28742 _errHandler.recover(this, re);
28743 }
28744 finally {
28745 exitRule();
28746 }
28747 return _localctx;
28748 }
28749
28750 public static class ProcOptionContext extends ParserRuleContext {
28751 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28752 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
28753 public ExecuteAsClauseContext executeAsClause() {
28754 return getRuleContext(ExecuteAsClauseContext.class,0);
28755 }
28756 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
28757 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28758 public ProcOptionContext(ParserRuleContext parent, int invokingState) {
28759 super(parent, invokingState);
28760 }
28761 @Override public int getRuleIndex() { return RULE_procOption; }
28762 @Override
28763 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28764 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcOption(this);
28765 else return visitor.visitChildren(this);
28766 }
28767 }
28768
28769 public final ProcOptionContext procOption() throws RecognitionException {
28770 ProcOptionContext _localctx = new ProcOptionContext(_ctx, getState());
28771 enterRule(_localctx, 588, RULE_procOption);
28772 try {
28773 setState(4080);
28774 _errHandler.sync(this);
28775 switch (_input.LA(1)) {
28776 case ENCRYPTION:
28777 enterOuterAlt(_localctx, 1);
28778 {
28779 setState(4075);
28780 match(ENCRYPTION);
28781 }
28782 break;
28783 case RECOMPILE:
28784 enterOuterAlt(_localctx, 2);
28785 {
28786 setState(4076);
28787 match(RECOMPILE);
28788 }
28789 break;
28790 case EXECUTE:
28791 case EXEC:
28792 enterOuterAlt(_localctx, 3);
28793 {
28794 setState(4077);
28795 executeAsClause();
28796 }
28797 break;
28798 case NATIVE_COMPILATION:
28799 enterOuterAlt(_localctx, 4);
28800 {
28801 setState(4078);
28802 match(NATIVE_COMPILATION);
28803 }
28804 break;
28805 case SCHEMABINDING:
28806 enterOuterAlt(_localctx, 5);
28807 {
28808 setState(4079);
28809 match(SCHEMABINDING);
28810 }
28811 break;
28812 default:
28813 throw new NoViableAltException(this);
28814 }
28815 }
28816 catch (RecognitionException re) {
28817 _localctx.exception = re;
28818 _errHandler.reportError(this, re);
28819 _errHandler.recover(this, re);
28820 }
28821 finally {
28822 exitRule();
28823 }
28824 return _localctx;
28825 }
28826
28827 public static class ProcAsClauseContext extends ParserRuleContext {
28828 public CompoundStatementContext compoundStatement() {
28829 return getRuleContext(CompoundStatementContext.class,0);
28830 }
28831 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
28832 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
28833 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
28834 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
28835 public NameContext name() {
28836 return getRuleContext(NameContext.class,0);
28837 }
28838 public List<OwnerContext> owner() {
28839 return getRuleContexts(OwnerContext.class);
28840 }
28841 public OwnerContext owner(int i) {
28842 return getRuleContext(OwnerContext.class,i);
28843 }
28844 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
28845 public TerminalNode DOT_(int i) {
28846 return getToken(SQLServerStatementParser.DOT_, i);
28847 }
28848 public TerminalNode ATOMIC() { return getToken(SQLServerStatementParser.ATOMIC, 0); }
28849 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28850 public List<ProcSetOptionContext> procSetOption() {
28851 return getRuleContexts(ProcSetOptionContext.class);
28852 }
28853 public ProcSetOptionContext procSetOption(int i) {
28854 return getRuleContext(ProcSetOptionContext.class,i);
28855 }
28856 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28857 public TerminalNode COMMA_(int i) {
28858 return getToken(SQLServerStatementParser.COMMA_, i);
28859 }
28860 public ProcAsClauseContext(ParserRuleContext parent, int invokingState) {
28861 super(parent, invokingState);
28862 }
28863 @Override public int getRuleIndex() { return RULE_procAsClause; }
28864 @Override
28865 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28866 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcAsClause(this);
28867 else return visitor.visitChildren(this);
28868 }
28869 }
28870
28871 public final ProcAsClauseContext procAsClause() throws RecognitionException {
28872 ProcAsClauseContext _localctx = new ProcAsClauseContext(_ctx, getState());
28873 enterRule(_localctx, 590, RULE_procAsClause);
28874 int _la;
28875 try {
28876 setState(4117);
28877 _errHandler.sync(this);
28878 switch ( getInterpreter().adaptivePredict(_input,432,_ctx) ) {
28879 case 1:
28880 enterOuterAlt(_localctx, 1);
28881 {
28882 setState(4083);
28883 _errHandler.sync(this);
28884 _la = _input.LA(1);
28885 if (_la==BEGIN) {
28886 {
28887 setState(4082);
28888 match(BEGIN);
28889 }
28890 }
28891
28892 setState(4085);
28893 compoundStatement();
28894 setState(4087);
28895 _errHandler.sync(this);
28896 _la = _input.LA(1);
28897 if (_la==END) {
28898 {
28899 setState(4086);
28900 match(END);
28901 }
28902 }
28903
28904 }
28905 break;
28906 case 2:
28907 enterOuterAlt(_localctx, 2);
28908 {
28909 setState(4089);
28910 match(EXTERNAL);
28911 setState(4090);
28912 match(NAME);
28913 setState(4094);
28914 _errHandler.sync(this);
28915 switch ( getInterpreter().adaptivePredict(_input,428,_ctx) ) {
28916 case 1:
28917 {
28918 setState(4091);
28919 owner();
28920 setState(4092);
28921 match(DOT_);
28922 }
28923 break;
28924 }
28925 setState(4099);
28926 _errHandler.sync(this);
28927 switch ( getInterpreter().adaptivePredict(_input,429,_ctx) ) {
28928 case 1:
28929 {
28930 setState(4096);
28931 owner();
28932 setState(4097);
28933 match(DOT_);
28934 }
28935 break;
28936 }
28937 setState(4101);
28938 name();
28939 }
28940 break;
28941 case 3:
28942 enterOuterAlt(_localctx, 3);
28943 {
28944 setState(4102);
28945 match(BEGIN);
28946 setState(4103);
28947 match(ATOMIC);
28948 setState(4104);
28949 match(WITH);
28950 setState(4105);
28951 procSetOption();
28952 setState(4110);
28953 _errHandler.sync(this);
28954 _la = _input.LA(1);
28955 while (_la==COMMA_) {
28956 {
28957 {
28958 setState(4106);
28959 match(COMMA_);
28960 setState(4107);
28961 procSetOption();
28962 }
28963 }
28964 setState(4112);
28965 _errHandler.sync(this);
28966 _la = _input.LA(1);
28967 }
28968 setState(4113);
28969 compoundStatement();
28970 setState(4115);
28971 _errHandler.sync(this);
28972 _la = _input.LA(1);
28973 if (_la==END) {
28974 {
28975 setState(4114);
28976 match(END);
28977 }
28978 }
28979
28980 }
28981 break;
28982 }
28983 }
28984 catch (RecognitionException re) {
28985 _localctx.exception = re;
28986 _errHandler.reportError(this, re);
28987 _errHandler.recover(this, re);
28988 }
28989 finally {
28990 exitRule();
28991 }
28992 return _localctx;
28993 }
28994
28995 public static class ProcSetOptionContext extends ParserRuleContext {
28996 public TerminalNode LANGUAGE() { return getToken(SQLServerStatementParser.LANGUAGE, 0); }
28997 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28998 public StringLiteralsContext stringLiterals() {
28999 return getRuleContext(StringLiteralsContext.class,0);
29000 }
29001 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
29002 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
29003 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
29004 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
29005 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
29006 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
29007 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
29008 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
29009 public NumberLiteralsContext numberLiterals() {
29010 return getRuleContext(NumberLiteralsContext.class,0);
29011 }
29012 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
29013 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
29014 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
29015 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29016 public ProcSetOptionContext(ParserRuleContext parent, int invokingState) {
29017 super(parent, invokingState);
29018 }
29019 @Override public int getRuleIndex() { return RULE_procSetOption; }
29020 @Override
29021 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29022 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcSetOption(this);
29023 else return visitor.visitChildren(this);
29024 }
29025 }
29026
29027 public final ProcSetOptionContext procSetOption() throws RecognitionException {
29028 ProcSetOptionContext _localctx = new ProcSetOptionContext(_ctx, getState());
29029 enterRule(_localctx, 592, RULE_procSetOption);
29030 int _la;
29031 try {
29032 setState(4141);
29033 _errHandler.sync(this);
29034 switch (_input.LA(1)) {
29035 case LANGUAGE:
29036 enterOuterAlt(_localctx, 1);
29037 {
29038 setState(4119);
29039 match(LANGUAGE);
29040 setState(4120);
29041 match(EQ_);
29042 setState(4121);
29043 stringLiterals();
29044 }
29045 break;
29046 case TRANSACTION:
29047 enterOuterAlt(_localctx, 2);
29048 {
29049 setState(4122);
29050 match(TRANSACTION);
29051 setState(4123);
29052 match(ISOLATION);
29053 setState(4124);
29054 match(LEVEL);
29055 setState(4125);
29056 match(EQ_);
29057 setState(4130);
29058 _errHandler.sync(this);
29059 switch (_input.LA(1)) {
29060 case SNAPSHOT:
29061 {
29062 setState(4126);
29063 match(SNAPSHOT);
29064 }
29065 break;
29066 case REPEATABLE:
29067 {
29068 setState(4127);
29069 match(REPEATABLE);
29070 setState(4128);
29071 match(READ);
29072 }
29073 break;
29074 case SERIALIZABLE:
29075 {
29076 setState(4129);
29077 match(SERIALIZABLE);
29078 }
29079 break;
29080 default:
29081 throw new NoViableAltException(this);
29082 }
29083 }
29084 break;
29085 case DATEFIRST:
29086 enterOuterAlt(_localctx, 3);
29087 {
29088 setState(4132);
29089 match(DATEFIRST);
29090 setState(4133);
29091 match(EQ_);
29092 setState(4134);
29093 numberLiterals();
29094 }
29095 break;
29096 case DATEFORMAT:
29097 enterOuterAlt(_localctx, 4);
29098 {
29099 setState(4135);
29100 match(DATEFORMAT);
29101 setState(4136);
29102 match(EQ_);
29103 setState(4137);
29104 stringLiterals();
29105 }
29106 break;
29107 case DELAYED_DURABILITY:
29108 enterOuterAlt(_localctx, 5);
29109 {
29110 setState(4138);
29111 match(DELAYED_DURABILITY);
29112 setState(4139);
29113 match(EQ_);
29114 setState(4140);
29115 _la = _input.LA(1);
29116 if ( !(_la==ON || _la==OFF) ) {
29117 _errHandler.recoverInline(this);
29118 }
29119 else {
29120 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29121 _errHandler.reportMatch(this);
29122 consume();
29123 }
29124 }
29125 break;
29126 default:
29127 throw new NoViableAltException(this);
29128 }
29129 }
29130 catch (RecognitionException re) {
29131 _localctx.exception = re;
29132 _errHandler.reportError(this, re);
29133 _errHandler.recover(this, re);
29134 }
29135 finally {
29136 exitRule();
29137 }
29138 return _localctx;
29139 }
29140
29141 public static class CreateOrAlterViewClauseContext extends ParserRuleContext {
29142 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29143 public SelectContext select() {
29144 return getRuleContext(SelectContext.class,0);
29145 }
29146 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
29147 public TerminalNode WITH(int i) {
29148 return getToken(SQLServerStatementParser.WITH, i);
29149 }
29150 public List<ViewAttributeContext> viewAttribute() {
29151 return getRuleContexts(ViewAttributeContext.class);
29152 }
29153 public ViewAttributeContext viewAttribute(int i) {
29154 return getRuleContext(ViewAttributeContext.class,i);
29155 }
29156 public WithCommonTableExprContext withCommonTableExpr() {
29157 return getRuleContext(WithCommonTableExprContext.class,0);
29158 }
29159 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
29160 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
29161 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29162 public TerminalNode COMMA_(int i) {
29163 return getToken(SQLServerStatementParser.COMMA_, i);
29164 }
29165 public CreateOrAlterViewClauseContext(ParserRuleContext parent, int invokingState) {
29166 super(parent, invokingState);
29167 }
29168 @Override public int getRuleIndex() { return RULE_createOrAlterViewClause; }
29169 @Override
29170 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29171 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterViewClause(this);
29172 else return visitor.visitChildren(this);
29173 }
29174 }
29175
29176 public final CreateOrAlterViewClauseContext createOrAlterViewClause() throws RecognitionException {
29177 CreateOrAlterViewClauseContext _localctx = new CreateOrAlterViewClauseContext(_ctx, getState());
29178 enterRule(_localctx, 594, RULE_createOrAlterViewClause);
29179 int _la;
29180 try {
29181 enterOuterAlt(_localctx, 1);
29182 {
29183 setState(4152);
29184 _errHandler.sync(this);
29185 _la = _input.LA(1);
29186 if (_la==WITH) {
29187 {
29188 setState(4143);
29189 match(WITH);
29190 setState(4144);
29191 viewAttribute();
29192 setState(4149);
29193 _errHandler.sync(this);
29194 _la = _input.LA(1);
29195 while (_la==COMMA_) {
29196 {
29197 {
29198 setState(4145);
29199 match(COMMA_);
29200 setState(4146);
29201 viewAttribute();
29202 }
29203 }
29204 setState(4151);
29205 _errHandler.sync(this);
29206 _la = _input.LA(1);
29207 }
29208 }
29209 }
29210
29211 setState(4154);
29212 match(AS);
29213 setState(4156);
29214 _errHandler.sync(this);
29215 switch ( getInterpreter().adaptivePredict(_input,437,_ctx) ) {
29216 case 1:
29217 {
29218 setState(4155);
29219 withCommonTableExpr();
29220 }
29221 break;
29222 }
29223 setState(4158);
29224 select();
29225 setState(4162);
29226 _errHandler.sync(this);
29227 _la = _input.LA(1);
29228 if (_la==WITH) {
29229 {
29230 setState(4159);
29231 match(WITH);
29232 setState(4160);
29233 match(CHECK);
29234 setState(4161);
29235 match(OPTION);
29236 }
29237 }
29238
29239 }
29240 }
29241 catch (RecognitionException re) {
29242 _localctx.exception = re;
29243 _errHandler.reportError(this, re);
29244 _errHandler.recover(this, re);
29245 }
29246 finally {
29247 exitRule();
29248 }
29249 return _localctx;
29250 }
29251
29252 public static class ViewAttributeContext extends ParserRuleContext {
29253 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
29254 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
29255 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
29256 public ViewAttributeContext(ParserRuleContext parent, int invokingState) {
29257 super(parent, invokingState);
29258 }
29259 @Override public int getRuleIndex() { return RULE_viewAttribute; }
29260 @Override
29261 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29262 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewAttribute(this);
29263 else return visitor.visitChildren(this);
29264 }
29265 }
29266
29267 public final ViewAttributeContext viewAttribute() throws RecognitionException {
29268 ViewAttributeContext _localctx = new ViewAttributeContext(_ctx, getState());
29269 enterRule(_localctx, 596, RULE_viewAttribute);
29270 int _la;
29271 try {
29272 enterOuterAlt(_localctx, 1);
29273 {
29274 setState(4164);
29275 _la = _input.LA(1);
29276 if ( !(_la==ENCRYPTION || _la==SCHEMABINDING || _la==VIEW_METADATA) ) {
29277 _errHandler.recoverInline(this);
29278 }
29279 else {
29280 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29281 _errHandler.reportMatch(this);
29282 consume();
29283 }
29284 }
29285 }
29286 catch (RecognitionException re) {
29287 _localctx.exception = re;
29288 _errHandler.reportError(this, re);
29289 _errHandler.recover(this, re);
29290 }
29291 finally {
29292 exitRule();
29293 }
29294 return _localctx;
29295 }
29296
29297 public static class WithCommonTableExprContext extends ParserRuleContext {
29298 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29299 public List<CommonTableExprContext> commonTableExpr() {
29300 return getRuleContexts(CommonTableExprContext.class);
29301 }
29302 public CommonTableExprContext commonTableExpr(int i) {
29303 return getRuleContext(CommonTableExprContext.class,i);
29304 }
29305 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29306 public TerminalNode COMMA_(int i) {
29307 return getToken(SQLServerStatementParser.COMMA_, i);
29308 }
29309 public WithCommonTableExprContext(ParserRuleContext parent, int invokingState) {
29310 super(parent, invokingState);
29311 }
29312 @Override public int getRuleIndex() { return RULE_withCommonTableExpr; }
29313 @Override
29314 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29315 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCommonTableExpr(this);
29316 else return visitor.visitChildren(this);
29317 }
29318 }
29319
29320 public final WithCommonTableExprContext withCommonTableExpr() throws RecognitionException {
29321 WithCommonTableExprContext _localctx = new WithCommonTableExprContext(_ctx, getState());
29322 enterRule(_localctx, 598, RULE_withCommonTableExpr);
29323 int _la;
29324 try {
29325 enterOuterAlt(_localctx, 1);
29326 {
29327 setState(4166);
29328 match(WITH);
29329 setState(4167);
29330 commonTableExpr();
29331 setState(4172);
29332 _errHandler.sync(this);
29333 _la = _input.LA(1);
29334 while (_la==COMMA_) {
29335 {
29336 {
29337 setState(4168);
29338 match(COMMA_);
29339 setState(4169);
29340 commonTableExpr();
29341 }
29342 }
29343 setState(4174);
29344 _errHandler.sync(this);
29345 _la = _input.LA(1);
29346 }
29347 }
29348 }
29349 catch (RecognitionException re) {
29350 _localctx.exception = re;
29351 _errHandler.reportError(this, re);
29352 _errHandler.recover(this, re);
29353 }
29354 finally {
29355 exitRule();
29356 }
29357 return _localctx;
29358 }
29359
29360 public static class CommonTableExprContext extends ParserRuleContext {
29361 public NameContext name() {
29362 return getRuleContext(NameContext.class,0);
29363 }
29364 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29365 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
29366 public TerminalNode LP_(int i) {
29367 return getToken(SQLServerStatementParser.LP_, i);
29368 }
29369 public SelectContext select() {
29370 return getRuleContext(SelectContext.class,0);
29371 }
29372 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
29373 public TerminalNode RP_(int i) {
29374 return getToken(SQLServerStatementParser.RP_, i);
29375 }
29376 public List<ColumnNameContext> columnName() {
29377 return getRuleContexts(ColumnNameContext.class);
29378 }
29379 public ColumnNameContext columnName(int i) {
29380 return getRuleContext(ColumnNameContext.class,i);
29381 }
29382 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29383 public TerminalNode COMMA_(int i) {
29384 return getToken(SQLServerStatementParser.COMMA_, i);
29385 }
29386 public CommonTableExprContext(ParserRuleContext parent, int invokingState) {
29387 super(parent, invokingState);
29388 }
29389 @Override public int getRuleIndex() { return RULE_commonTableExpr; }
29390 @Override
29391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonTableExpr(this);
29393 else return visitor.visitChildren(this);
29394 }
29395 }
29396
29397 public final CommonTableExprContext commonTableExpr() throws RecognitionException {
29398 CommonTableExprContext _localctx = new CommonTableExprContext(_ctx, getState());
29399 enterRule(_localctx, 600, RULE_commonTableExpr);
29400 int _la;
29401 try {
29402 enterOuterAlt(_localctx, 1);
29403 {
29404 setState(4175);
29405 name();
29406 setState(4187);
29407 _errHandler.sync(this);
29408 _la = _input.LA(1);
29409 if (_la==LP_) {
29410 {
29411 setState(4176);
29412 match(LP_);
29413 setState(4177);
29414 columnName();
29415 setState(4182);
29416 _errHandler.sync(this);
29417 _la = _input.LA(1);
29418 while (_la==COMMA_) {
29419 {
29420 {
29421 setState(4178);
29422 match(COMMA_);
29423 setState(4179);
29424 columnName();
29425 }
29426 }
29427 setState(4184);
29428 _errHandler.sync(this);
29429 _la = _input.LA(1);
29430 }
29431 setState(4185);
29432 match(RP_);
29433 }
29434 }
29435
29436 setState(4189);
29437 match(AS);
29438 setState(4190);
29439 match(LP_);
29440 setState(4191);
29441 select();
29442 setState(4192);
29443 match(RP_);
29444 }
29445 }
29446 catch (RecognitionException re) {
29447 _localctx.exception = re;
29448 _errHandler.reportError(this, re);
29449 _errHandler.recover(this, re);
29450 }
29451 finally {
29452 exitRule();
29453 }
29454 return _localctx;
29455 }
29456
29457 public static class CreateTriggerClauseContext extends ParserRuleContext {
29458 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29459 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
29460 public TerminalNode FOR(int i) {
29461 return getToken(SQLServerStatementParser.FOR, i);
29462 }
29463 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
29464 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
29465 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
29466 public CompoundStatementContext compoundStatement() {
29467 return getRuleContext(CompoundStatementContext.class,0);
29468 }
29469 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
29470 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
29471 public MethodSpecifierContext methodSpecifier() {
29472 return getRuleContext(MethodSpecifierContext.class,0);
29473 }
29474 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
29475 public TerminalNode WITH(int i) {
29476 return getToken(SQLServerStatementParser.WITH, i);
29477 }
29478 public List<DmlTriggerOptionContext> dmlTriggerOption() {
29479 return getRuleContexts(DmlTriggerOptionContext.class);
29480 }
29481 public DmlTriggerOptionContext dmlTriggerOption(int i) {
29482 return getRuleContext(DmlTriggerOptionContext.class,i);
29483 }
29484 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29485 public TerminalNode COMMA_(int i) {
29486 return getToken(SQLServerStatementParser.COMMA_, i);
29487 }
29488 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
29489 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
29490 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
29491 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
29492 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
29493 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
29494 public CreateTriggerClauseContext(ParserRuleContext parent, int invokingState) {
29495 super(parent, invokingState);
29496 }
29497 @Override public int getRuleIndex() { return RULE_createTriggerClause; }
29498 @Override
29499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29500 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTriggerClause(this);
29501 else return visitor.visitChildren(this);
29502 }
29503 }
29504
29505 public final CreateTriggerClauseContext createTriggerClause() throws RecognitionException {
29506 CreateTriggerClauseContext _localctx = new CreateTriggerClauseContext(_ctx, getState());
29507 enterRule(_localctx, 602, RULE_createTriggerClause);
29508 int _la;
29509 try {
29510 enterOuterAlt(_localctx, 1);
29511 {
29512 setState(4199);
29513 _errHandler.sync(this);
29514 _la = _input.LA(1);
29515 if (_la==WITH) {
29516 {
29517 setState(4194);
29518 match(WITH);
29519 setState(4195);
29520 dmlTriggerOption();
29521 setState(4196);
29522 match(COMMA_);
29523 setState(4197);
29524 dmlTriggerOption();
29525 }
29526 }
29527
29528 setState(4205);
29529 _errHandler.sync(this);
29530 switch (_input.LA(1)) {
29531 case FOR:
29532 {
29533 setState(4201);
29534 match(FOR);
29535 }
29536 break;
29537 case AFTER:
29538 {
29539 setState(4202);
29540 match(AFTER);
29541 }
29542 break;
29543 case INSTEAD:
29544 {
29545 setState(4203);
29546 match(INSTEAD);
29547 setState(4204);
29548 match(OF);
29549 }
29550 break;
29551 default:
29552 throw new NoViableAltException(this);
29553 }
29554 setState(4208);
29555 _errHandler.sync(this);
29556 _la = _input.LA(1);
29557 if (_la==INSERT) {
29558 {
29559 setState(4207);
29560 match(INSERT);
29561 }
29562 }
29563
29564 setState(4211);
29565 _errHandler.sync(this);
29566 switch ( getInterpreter().adaptivePredict(_input,445,_ctx) ) {
29567 case 1:
29568 {
29569 setState(4210);
29570 match(COMMA_);
29571 }
29572 break;
29573 }
29574 setState(4214);
29575 _errHandler.sync(this);
29576 _la = _input.LA(1);
29577 if (_la==UPDATE) {
29578 {
29579 setState(4213);
29580 match(UPDATE);
29581 }
29582 }
29583
29584 setState(4217);
29585 _errHandler.sync(this);
29586 switch ( getInterpreter().adaptivePredict(_input,447,_ctx) ) {
29587 case 1:
29588 {
29589 setState(4216);
29590 match(COMMA_);
29591 }
29592 break;
29593 }
29594 setState(4220);
29595 _errHandler.sync(this);
29596 _la = _input.LA(1);
29597 if (_la==DELETE) {
29598 {
29599 setState(4219);
29600 match(DELETE);
29601 }
29602 }
29603
29604 setState(4223);
29605 _errHandler.sync(this);
29606 _la = _input.LA(1);
29607 if (_la==COMMA_) {
29608 {
29609 setState(4222);
29610 match(COMMA_);
29611 }
29612 }
29613
29614 setState(4227);
29615 _errHandler.sync(this);
29616 _la = _input.LA(1);
29617 if (_la==WITH) {
29618 {
29619 setState(4225);
29620 match(WITH);
29621 setState(4226);
29622 match(APPEND);
29623 }
29624 }
29625
29626 setState(4232);
29627 _errHandler.sync(this);
29628 _la = _input.LA(1);
29629 if (_la==NOT) {
29630 {
29631 setState(4229);
29632 match(NOT);
29633 setState(4230);
29634 match(FOR);
29635 setState(4231);
29636 match(REPLICATION);
29637 }
29638 }
29639
29640 setState(4234);
29641 match(AS);
29642 setState(4239);
29643 _errHandler.sync(this);
29644 switch (_input.LA(1)) {
29645 case EOF:
29646 case SEMI_:
29647 case SELECT:
29648 case INSERT:
29649 case UPDATE:
29650 case DELETE:
29651 case CREATE:
29652 case ALTER:
29653 case DROP:
29654 case TRUNCATE:
29655 case SET:
29656 case WITH:
29657 case DECLARE:
29658 {
29659 setState(4235);
29660 compoundStatement();
29661 }
29662 break;
29663 case EXTERNAL:
29664 {
29665 setState(4236);
29666 match(EXTERNAL);
29667 setState(4237);
29668 match(NAME);
29669 setState(4238);
29670 methodSpecifier();
29671 }
29672 break;
29673 default:
29674 throw new NoViableAltException(this);
29675 }
29676 }
29677 }
29678 catch (RecognitionException re) {
29679 _localctx.exception = re;
29680 _errHandler.reportError(this, re);
29681 _errHandler.recover(this, re);
29682 }
29683 finally {
29684 exitRule();
29685 }
29686 return _localctx;
29687 }
29688
29689 public static class DmlTriggerOptionContext extends ParserRuleContext {
29690 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
29691 public ExecuteAsClauseContext executeAsClause() {
29692 return getRuleContext(ExecuteAsClauseContext.class,0);
29693 }
29694 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
29695 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
29696 public DmlTriggerOptionContext(ParserRuleContext parent, int invokingState) {
29697 super(parent, invokingState);
29698 }
29699 @Override public int getRuleIndex() { return RULE_dmlTriggerOption; }
29700 @Override
29701 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29702 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDmlTriggerOption(this);
29703 else return visitor.visitChildren(this);
29704 }
29705 }
29706
29707 public final DmlTriggerOptionContext dmlTriggerOption() throws RecognitionException {
29708 DmlTriggerOptionContext _localctx = new DmlTriggerOptionContext(_ctx, getState());
29709 enterRule(_localctx, 604, RULE_dmlTriggerOption);
29710 try {
29711 setState(4246);
29712 _errHandler.sync(this);
29713 switch (_input.LA(1)) {
29714 case ENCRYPTION:
29715 enterOuterAlt(_localctx, 1);
29716 {
29717 setState(4241);
29718 match(ENCRYPTION);
29719 }
29720 break;
29721 case EXECUTE:
29722 case EXEC:
29723 enterOuterAlt(_localctx, 2);
29724 {
29725 setState(4242);
29726 executeAsClause();
29727 }
29728 break;
29729 case NATIVE_COMPILATION:
29730 enterOuterAlt(_localctx, 3);
29731 {
29732 setState(4243);
29733 match(NATIVE_COMPILATION);
29734 }
29735 break;
29736 case SCHEMABINDING:
29737 enterOuterAlt(_localctx, 4);
29738 {
29739 setState(4244);
29740 match(SCHEMABINDING);
29741 }
29742 break;
29743 case COMMA_:
29744 case FOR:
29745 case AFTER:
29746 case INSTEAD:
29747 enterOuterAlt(_localctx, 5);
29748 {
29749 }
29750 break;
29751 default:
29752 throw new NoViableAltException(this);
29753 }
29754 }
29755 catch (RecognitionException re) {
29756 _localctx.exception = re;
29757 _errHandler.reportError(this, re);
29758 _errHandler.recover(this, re);
29759 }
29760 finally {
29761 exitRule();
29762 }
29763 return _localctx;
29764 }
29765
29766 public static class MethodSpecifierContext extends ParserRuleContext {
29767 public List<NameContext> name() {
29768 return getRuleContexts(NameContext.class);
29769 }
29770 public NameContext name(int i) {
29771 return getRuleContext(NameContext.class,i);
29772 }
29773 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
29774 public TerminalNode DOT_(int i) {
29775 return getToken(SQLServerStatementParser.DOT_, i);
29776 }
29777 public MethodSpecifierContext(ParserRuleContext parent, int invokingState) {
29778 super(parent, invokingState);
29779 }
29780 @Override public int getRuleIndex() { return RULE_methodSpecifier; }
29781 @Override
29782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29783 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMethodSpecifier(this);
29784 else return visitor.visitChildren(this);
29785 }
29786 }
29787
29788 public final MethodSpecifierContext methodSpecifier() throws RecognitionException {
29789 MethodSpecifierContext _localctx = new MethodSpecifierContext(_ctx, getState());
29790 enterRule(_localctx, 606, RULE_methodSpecifier);
29791 try {
29792 enterOuterAlt(_localctx, 1);
29793 {
29794 setState(4248);
29795 name();
29796 setState(4249);
29797 match(DOT_);
29798 setState(4250);
29799 name();
29800 setState(4251);
29801 match(DOT_);
29802 setState(4252);
29803 name();
29804 }
29805 }
29806 catch (RecognitionException re) {
29807 _localctx.exception = re;
29808 _errHandler.reportError(this, re);
29809 _errHandler.recover(this, re);
29810 }
29811 finally {
29812 exitRule();
29813 }
29814 return _localctx;
29815 }
29816
29817 public static class TriggerTargetContext extends ParserRuleContext {
29818 public TableNameContext tableName() {
29819 return getRuleContext(TableNameContext.class,0);
29820 }
29821 public ViewNameContext viewName() {
29822 return getRuleContext(ViewNameContext.class,0);
29823 }
29824 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
29825 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
29826 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
29827 public TriggerTargetContext(ParserRuleContext parent, int invokingState) {
29828 super(parent, invokingState);
29829 }
29830 @Override public int getRuleIndex() { return RULE_triggerTarget; }
29831 @Override
29832 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29833 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerTarget(this);
29834 else return visitor.visitChildren(this);
29835 }
29836 }
29837
29838 public final TriggerTargetContext triggerTarget() throws RecognitionException {
29839 TriggerTargetContext _localctx = new TriggerTargetContext(_ctx, getState());
29840 enterRule(_localctx, 608, RULE_triggerTarget);
29841 try {
29842 setState(4259);
29843 _errHandler.sync(this);
29844 switch ( getInterpreter().adaptivePredict(_input,454,_ctx) ) {
29845 case 1:
29846 enterOuterAlt(_localctx, 1);
29847 {
29848 setState(4254);
29849 tableName();
29850 }
29851 break;
29852 case 2:
29853 enterOuterAlt(_localctx, 2);
29854 {
29855 setState(4255);
29856 viewName();
29857 }
29858 break;
29859 case 3:
29860 enterOuterAlt(_localctx, 3);
29861 {
29862 setState(4256);
29863 match(ALL);
29864 setState(4257);
29865 match(SERVER);
29866 }
29867 break;
29868 case 4:
29869 enterOuterAlt(_localctx, 4);
29870 {
29871 setState(4258);
29872 match(DATABASE);
29873 }
29874 break;
29875 }
29876 }
29877 catch (RecognitionException re) {
29878 _localctx.exception = re;
29879 _errHandler.reportError(this, re);
29880 _errHandler.recover(this, re);
29881 }
29882 finally {
29883 exitRule();
29884 }
29885 return _localctx;
29886 }
29887
29888 public static class CreateOrAlterSequenceClauseContext extends ParserRuleContext {
29889 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29890 public DataTypeContext dataType() {
29891 return getRuleContext(DataTypeContext.class,0);
29892 }
29893 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29894 public ExprContext expr() {
29895 return getRuleContext(ExprContext.class,0);
29896 }
29897 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
29898 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
29899 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
29900 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
29901 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
29902 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
29903 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
29904 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
29905 public TerminalNode CYCLE() { return getToken(SQLServerStatementParser.CYCLE, 0); }
29906 public CreateOrAlterSequenceClauseContext(ParserRuleContext parent, int invokingState) {
29907 super(parent, invokingState);
29908 }
29909 @Override public int getRuleIndex() { return RULE_createOrAlterSequenceClause; }
29910 @Override
29911 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29912 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterSequenceClause(this);
29913 else return visitor.visitChildren(this);
29914 }
29915 }
29916
29917 public final CreateOrAlterSequenceClauseContext createOrAlterSequenceClause() throws RecognitionException {
29918 CreateOrAlterSequenceClauseContext _localctx = new CreateOrAlterSequenceClauseContext(_ctx, getState());
29919 enterRule(_localctx, 610, RULE_createOrAlterSequenceClause);
29920 int _la;
29921 try {
29922 setState(4289);
29923 _errHandler.sync(this);
29924 switch ( getInterpreter().adaptivePredict(_input,458,_ctx) ) {
29925 case 1:
29926 enterOuterAlt(_localctx, 1);
29927 {
29928 setState(4261);
29929 match(AS);
29930 setState(4262);
29931 dataType();
29932 }
29933 break;
29934 case 2:
29935 enterOuterAlt(_localctx, 2);
29936 {
29937 setState(4263);
29938 _la = _input.LA(1);
29939 if ( !(_la==START || _la==RESTART) ) {
29940 _errHandler.recoverInline(this);
29941 }
29942 else {
29943 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29944 _errHandler.reportMatch(this);
29945 consume();
29946 }
29947 setState(4264);
29948 match(WITH);
29949 setState(4265);
29950 expr(0);
29951 }
29952 break;
29953 case 3:
29954 enterOuterAlt(_localctx, 3);
29955 {
29956 setState(4266);
29957 match(INCREMENT);
29958 setState(4267);
29959 match(BY);
29960 setState(4268);
29961 expr(0);
29962 }
29963 break;
29964 case 4:
29965 enterOuterAlt(_localctx, 4);
29966 {
29967 setState(4269);
29968 match(MINVALUE);
29969 setState(4271);
29970 _errHandler.sync(this);
29971 switch ( getInterpreter().adaptivePredict(_input,455,_ctx) ) {
29972 case 1:
29973 {
29974 setState(4270);
29975 expr(0);
29976 }
29977 break;
29978 }
29979 }
29980 break;
29981 case 5:
29982 enterOuterAlt(_localctx, 5);
29983 {
29984 setState(4273);
29985 match(NO);
29986 setState(4274);
29987 match(MINVALUE);
29988 }
29989 break;
29990 case 6:
29991 enterOuterAlt(_localctx, 6);
29992 {
29993 setState(4275);
29994 match(MAXVALUE);
29995 setState(4277);
29996 _errHandler.sync(this);
29997 switch ( getInterpreter().adaptivePredict(_input,456,_ctx) ) {
29998 case 1:
29999 {
30000 setState(4276);
30001 expr(0);
30002 }
30003 break;
30004 }
30005 }
30006 break;
30007 case 7:
30008 enterOuterAlt(_localctx, 7);
30009 {
30010 setState(4279);
30011 match(NO);
30012 setState(4280);
30013 match(MAXVALUE);
30014 }
30015 break;
30016 case 8:
30017 enterOuterAlt(_localctx, 8);
30018 {
30019 setState(4281);
30020 match(CACHE);
30021 setState(4282);
30022 expr(0);
30023 }
30024 break;
30025 case 9:
30026 enterOuterAlt(_localctx, 9);
30027 {
30028 setState(4283);
30029 match(NO);
30030 setState(4284);
30031 match(CACHE);
30032 }
30033 break;
30034 case 10:
30035 enterOuterAlt(_localctx, 10);
30036 {
30037 setState(4286);
30038 _errHandler.sync(this);
30039 _la = _input.LA(1);
30040 if (_la==NO) {
30041 {
30042 setState(4285);
30043 match(NO);
30044 }
30045 }
30046
30047 setState(4288);
30048 match(CYCLE);
30049 }
30050 break;
30051 }
30052 }
30053 catch (RecognitionException re) {
30054 _localctx.exception = re;
30055 _errHandler.reportError(this, re);
30056 _errHandler.recover(this, re);
30057 }
30058 finally {
30059 exitRule();
30060 }
30061 return _localctx;
30062 }
30063
30064 public static class CreateIndexClauseContext extends ParserRuleContext {
30065 public TerminalNode INCLUDE() { return getToken(SQLServerStatementParser.INCLUDE, 0); }
30066 public ColumnNamesWithSortContext columnNamesWithSort() {
30067 return getRuleContext(ColumnNamesWithSortContext.class,0);
30068 }
30069 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
30070 public FilterPredicateContext filterPredicate() {
30071 return getRuleContext(FilterPredicateContext.class,0);
30072 }
30073 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
30074 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
30075 public TerminalNode LP_(int i) {
30076 return getToken(SQLServerStatementParser.LP_, i);
30077 }
30078 public List<RelationalIndexOptionContext> relationalIndexOption() {
30079 return getRuleContexts(RelationalIndexOptionContext.class);
30080 }
30081 public RelationalIndexOptionContext relationalIndexOption(int i) {
30082 return getRuleContext(RelationalIndexOptionContext.class,i);
30083 }
30084 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
30085 public TerminalNode RP_(int i) {
30086 return getToken(SQLServerStatementParser.RP_, i);
30087 }
30088 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30089 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
30090 public SchemaNameContext schemaName() {
30091 return getRuleContext(SchemaNameContext.class,0);
30092 }
30093 public ColumnNameContext columnName() {
30094 return getRuleContext(ColumnNameContext.class,0);
30095 }
30096 public List<NameContext> name() {
30097 return getRuleContexts(NameContext.class);
30098 }
30099 public NameContext name(int i) {
30100 return getRuleContext(NameContext.class,i);
30101 }
30102 public StringLiteralsContext stringLiterals() {
30103 return getRuleContext(StringLiteralsContext.class,0);
30104 }
30105 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30106 public TerminalNode COMMA_(int i) {
30107 return getToken(SQLServerStatementParser.COMMA_, i);
30108 }
30109 public CreateIndexClauseContext(ParserRuleContext parent, int invokingState) {
30110 super(parent, invokingState);
30111 }
30112 @Override public int getRuleIndex() { return RULE_createIndexClause; }
30113 @Override
30114 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30115 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexClause(this);
30116 else return visitor.visitChildren(this);
30117 }
30118 }
30119
30120 public final CreateIndexClauseContext createIndexClause() throws RecognitionException {
30121 CreateIndexClauseContext _localctx = new CreateIndexClauseContext(_ctx, getState());
30122 enterRule(_localctx, 612, RULE_createIndexClause);
30123 int _la;
30124 try {
30125 enterOuterAlt(_localctx, 1);
30126 {
30127 setState(4293);
30128 _errHandler.sync(this);
30129 _la = _input.LA(1);
30130 if (_la==INCLUDE) {
30131 {
30132 setState(4291);
30133 match(INCLUDE);
30134 setState(4292);
30135 columnNamesWithSort();
30136 }
30137 }
30138
30139 setState(4297);
30140 _errHandler.sync(this);
30141 _la = _input.LA(1);
30142 if (_la==WHERE) {
30143 {
30144 setState(4295);
30145 match(WHERE);
30146 setState(4296);
30147 filterPredicate();
30148 }
30149 }
30150
30151 setState(4311);
30152 _errHandler.sync(this);
30153 _la = _input.LA(1);
30154 if (_la==WITH) {
30155 {
30156 setState(4299);
30157 match(WITH);
30158 setState(4300);
30159 match(LP_);
30160 setState(4301);
30161 relationalIndexOption();
30162 setState(4306);
30163 _errHandler.sync(this);
30164 _la = _input.LA(1);
30165 while (_la==COMMA_) {
30166 {
30167 {
30168 setState(4302);
30169 match(COMMA_);
30170 setState(4303);
30171 relationalIndexOption();
30172 }
30173 }
30174 setState(4308);
30175 _errHandler.sync(this);
30176 _la = _input.LA(1);
30177 }
30178 setState(4309);
30179 match(RP_);
30180 }
30181 }
30182
30183 setState(4322);
30184 _errHandler.sync(this);
30185 _la = _input.LA(1);
30186 if (_la==ON) {
30187 {
30188 setState(4313);
30189 match(ON);
30190 setState(4320);
30191 _errHandler.sync(this);
30192 switch ( getInterpreter().adaptivePredict(_input,463,_ctx) ) {
30193 case 1:
30194 {
30195 setState(4314);
30196 schemaName();
30197 setState(4315);
30198 match(LP_);
30199 setState(4316);
30200 columnName();
30201 setState(4317);
30202 match(RP_);
30203 }
30204 break;
30205 case 2:
30206 {
30207 setState(4319);
30208 name();
30209 }
30210 break;
30211 }
30212 }
30213 }
30214
30215 setState(4329);
30216 _errHandler.sync(this);
30217 _la = _input.LA(1);
30218 if (_la==FILESTREAM_ON) {
30219 {
30220 setState(4324);
30221 match(FILESTREAM_ON);
30222 setState(4327);
30223 _errHandler.sync(this);
30224 switch (_input.LA(1)) {
30225 case TRUNCATE:
30226 case SCHEMA:
30227 case COLUMNS:
30228 case PRECISION:
30229 case FUNCTION:
30230 case TRIGGER:
30231 case CAST:
30232 case TRIM:
30233 case SUBSTRING:
30234 case RIGHT:
30235 case OFF:
30236 case GROUP:
30237 case LIMIT:
30238 case OFFSET:
30239 case SAVEPOINT:
30240 case BOOLEAN:
30241 case ARRAY:
30242 case DATE:
30243 case TIMESTAMP:
30244 case LOCALTIME:
30245 case LOCALTIMESTAMP:
30246 case YEAR:
30247 case QUARTER:
30248 case MONTH:
30249 case WEEK:
30250 case DAY:
30251 case SECOND:
30252 case MICROSECOND:
30253 case MAX:
30254 case MIN:
30255 case SUM:
30256 case COUNT:
30257 case AVG:
30258 case ENABLE:
30259 case DISABLE:
30260 case INSTANCE:
30261 case DO:
30262 case DEFINER:
30263 case SQL:
30264 case CASCADED:
30265 case LOCAL:
30266 case NEXT:
30267 case NAME:
30268 case INTEGER:
30269 case TYPE:
30270 case TEXT:
30271 case VIEWS:
30272 case READ_ONLY:
30273 case DATABASE:
30274 case RETURNS:
30275 case DATEPART:
30276 case PASSWORD:
30277 case BINARY:
30278 case HIDDEN_:
30279 case MOD:
30280 case PARTITION:
30281 case PARTITIONS:
30282 case TOP:
30283 case ROW:
30284 case ROWS:
30285 case XOR:
30286 case ALWAYS:
30287 case USER:
30288 case ROLE:
30289 case START:
30290 case ALGORITHM:
30291 case AUTO:
30292 case BLOCKERS:
30293 case CLUSTERED:
30294 case NONCLUSTERED:
30295 case COLUMNSTORE:
30296 case CONTENT:
30297 case YEARS:
30298 case MONTHS:
30299 case WEEKS:
30300 case DAYS:
30301 case MINUTES:
30302 case DENY:
30303 case DETERMINISTIC:
30304 case DISTRIBUTION:
30305 case DOCUMENT:
30306 case DURABILITY:
30307 case ENCRYPTED:
30308 case FILESTREAM:
30309 case FILETABLE:
30310 case FILLFACTOR:
30311 case FOLLOWING:
30312 case HASH:
30313 case HEAP:
30314 case INBOUND:
30315 case OUTBOUND:
30316 case UNBOUNDED:
30317 case INFINITE:
30318 case LOGIN:
30319 case MASKED:
30320 case MAXDOP:
30321 case MOVE:
30322 case NOCHECK:
30323 case OBJECT:
30324 case ONLINE:
30325 case OVER:
30326 case PAGE:
30327 case PAUSED:
30328 case PERIOD:
30329 case PERSISTED:
30330 case PRECEDING:
30331 case RANDOMIZED:
30332 case RANGE:
30333 case REBUILD:
30334 case REPLICATE:
30335 case REPLICATION:
30336 case RESUMABLE:
30337 case ROWGUIDCOL:
30338 case SAVE:
30339 case SELF:
30340 case SPARSE:
30341 case SWITCH:
30342 case TRAN:
30343 case TRANCOUNT:
30344 case CONTROL:
30345 case CONCAT:
30346 case TAKE:
30347 case OWNERSHIP:
30348 case DEFINITION:
30349 case APPLICATION:
30350 case ASSEMBLY:
30351 case SYMMETRIC:
30352 case ASYMMETRIC:
30353 case SERVER:
30354 case RECEIVE:
30355 case CHANGE:
30356 case TRACE:
30357 case TRACKING:
30358 case RESOURCES:
30359 case SETTINGS:
30360 case STATE:
30361 case AVAILABILITY:
30362 case CREDENTIAL:
30363 case ENDPOINT:
30364 case EVENT:
30365 case NOTIFICATION:
30366 case LINKED:
30367 case AUDIT:
30368 case DDL:
30369 case XML:
30370 case IMPERSONATE:
30371 case SECURABLES:
30372 case AUTHENTICATE:
30373 case EXTERNAL:
30374 case ACCESS:
30375 case ADMINISTER:
30376 case BULK:
30377 case OPERATIONS:
30378 case UNSAFE:
30379 case SHUTDOWN:
30380 case SCOPED:
30381 case CONFIGURATION:
30382 case DATASPACE:
30383 case SERVICE:
30384 case CERTIFICATE:
30385 case CONTRACT:
30386 case ENCRYPTION:
30387 case MASTER:
30388 case DATA:
30389 case SOURCE:
30390 case FILE:
30391 case FORMAT:
30392 case LIBRARY:
30393 case FULLTEXT:
30394 case MASK:
30395 case UNMASK:
30396 case MESSAGE:
30397 case REMOTE:
30398 case BINDING:
30399 case ROUTE:
30400 case SECURITY:
30401 case POLICY:
30402 case AGGREGATE:
30403 case QUEUE:
30404 case RULE:
30405 case SYNONYM:
30406 case COLLECTION:
30407 case SCRIPT:
30408 case KILL:
30409 case BACKUP:
30410 case LOG:
30411 case SHOWPLAN:
30412 case SUBSCRIBE:
30413 case QUERY:
30414 case NOTIFICATIONS:
30415 case CHECKPOINT:
30416 case SEQUENCE:
30417 case ABORT_AFTER_WAIT:
30418 case ALLOW_PAGE_LOCKS:
30419 case ALLOW_ROW_LOCKS:
30420 case ALL_SPARSE_COLUMNS:
30421 case BUCKET_COUNT:
30422 case COLUMNSTORE_ARCHIVE:
30423 case COLUMN_ENCRYPTION_KEY:
30424 case COLUMN_SET:
30425 case COMPRESSION_DELAY:
30426 case DATABASE_DEAULT:
30427 case DATA_COMPRESSION:
30428 case DATA_CONSISTENCY_CHECK:
30429 case ENCRYPTION_TYPE:
30430 case SYSTEM_TIME:
30431 case SYSTEM_VERSIONING:
30432 case TEXTIMAGE_ON:
30433 case WAIT_AT_LOW_PRIORITY:
30434 case STATISTICS_INCREMENTAL:
30435 case STATISTICS_NORECOMPUTE:
30436 case ROUND_ROBIN:
30437 case SCHEMA_AND_DATA:
30438 case SCHEMA_ONLY:
30439 case SORT_IN_TEMPDB:
30440 case IGNORE_DUP_KEY:
30441 case IMPLICIT_TRANSACTIONS:
30442 case MAX_DURATION:
30443 case MEMORY_OPTIMIZED:
30444 case MIGRATION_STATE:
30445 case PAD_INDEX:
30446 case REMOTE_DATA_ARCHIVE:
30447 case FILESTREAM_ON:
30448 case FILETABLE_COLLATE_FILENAME:
30449 case FILETABLE_DIRECTORY:
30450 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
30451 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
30452 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
30453 case FILTER_PREDICATE:
30454 case HISTORY_RETENTION_PERIOD:
30455 case HISTORY_TABLE:
30456 case LOCK_ESCALATION:
30457 case DROP_EXISTING:
30458 case ROW_NUMBER:
30459 case FIRST:
30460 case DATETIME2:
30461 case OUTPUT:
30462 case INSERTED:
30463 case DELETED:
30464 case FILENAME:
30465 case SIZE:
30466 case MAXSIZE:
30467 case FILEGROWTH:
30468 case UNLIMITED:
30469 case KB:
30470 case MB:
30471 case GB:
30472 case TB:
30473 case CONTAINS:
30474 case MEMORY_OPTIMIZED_DATA:
30475 case FILEGROUP:
30476 case NON_TRANSACTED_ACCESS:
30477 case DB_CHAINING:
30478 case TRUSTWORTHY:
30479 case FORWARD_ONLY:
30480 case KEYSET:
30481 case FAST_FORWARD:
30482 case SCROLL_LOCKS:
30483 case OPTIMISTIC:
30484 case TYPE_WARNING:
30485 case SCHEMABINDING:
30486 case CALLER:
30487 case INPUT:
30488 case OWNER:
30489 case SNAPSHOT:
30490 case REPEATABLE:
30491 case SERIALIZABLE:
30492 case NATIVE_COMPILATION:
30493 case VIEW_METADATA:
30494 case INSTEAD:
30495 case APPEND:
30496 case INCREMENT:
30497 case CACHE:
30498 case MINVALUE:
30499 case MAXVALUE:
30500 case RESTART:
30501 case LOB_COMPACTION:
30502 case COMPRESS_ALL_ROW_GROUPS:
30503 case REORGANIZE:
30504 case RESUME:
30505 case PAUSE:
30506 case ABORT:
30507 case ACCELERATED_DATABASE_RECOVERY:
30508 case PERSISTENT_VERSION_STORE_FILEGROUP:
30509 case IMMEDIATE:
30510 case NO_WAIT:
30511 case TARGET_RECOVERY_TIME:
30512 case SECONDS:
30513 case HONOR_BROKER_PRIORITY:
30514 case ERROR_BROKER_CONVERSATIONS:
30515 case NEW_BROKER:
30516 case DISABLE_BROKER:
30517 case ENABLE_BROKER:
30518 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
30519 case READ_COMMITTED_SNAPSHOT:
30520 case ALLOW_SNAPSHOT_ISOLATION:
30521 case RECURSIVE_TRIGGERS:
30522 case QUOTED_IDENTIFIER:
30523 case NUMERIC_ROUNDABORT:
30524 case CONCAT_NULL_YIELDS_NULL:
30525 case COMPATIBILITY_LEVEL:
30526 case ARITHABORT:
30527 case ANSI_WARNINGS:
30528 case ANSI_PADDING:
30529 case ANSI_NULLS:
30530 case ANSI_NULL_DEFAULT:
30531 case PAGE_VERIFY:
30532 case CHECKSUM:
30533 case TORN_PAGE_DETECTION:
30534 case BULK_LOGGED:
30535 case RECOVERY:
30536 case TOTAL_EXECUTION_CPU_TIME_MS:
30537 case TOTAL_COMPILE_CPU_TIME_MS:
30538 case STALE_CAPTURE_POLICY_THRESHOLD:
30539 case EXECUTION_COUNT:
30540 case QUERY_CAPTURE_POLICY:
30541 case WAIT_STATS_CAPTURE_MODE:
30542 case MAX_PLANS_PER_QUERY:
30543 case QUERY_CAPTURE_MODE:
30544 case SIZE_BASED_CLEANUP_MODE:
30545 case INTERVAL_LENGTH_MINUTES:
30546 case MAX_STORAGE_SIZE_MB:
30547 case DATA_FLUSH_INTERVAL_SECONDS:
30548 case CLEANUP_POLICY:
30549 case CUSTOM:
30550 case STALE_QUERY_THRESHOLD_DAYS:
30551 case OPERATION_MODE:
30552 case QUERY_STORE:
30553 case CURSOR_DEFAULT:
30554 case GLOBAL:
30555 case CURSOR_CLOSE_ON_COMMIT:
30556 case HOURS:
30557 case CHANGE_RETENTION:
30558 case AUTO_CLEANUP:
30559 case CHANGE_TRACKING:
30560 case AUTOMATIC_TUNING:
30561 case FORCE_LAST_GOOD_PLAN:
30562 case AUTO_UPDATE_STATISTICS_ASYNC:
30563 case AUTO_UPDATE_STATISTICS:
30564 case AUTO_SHRINK:
30565 case AUTO_CREATE_STATISTICS:
30566 case INCREMENTAL:
30567 case AUTO_CLOSE:
30568 case DATA_RETENTION:
30569 case TEMPORAL_HISTORY_RETENTION:
30570 case EDITION:
30571 case MIXED_PAGE_ALLOCATION:
30572 case DISABLED:
30573 case ALLOWED:
30574 case HADR:
30575 case MULTI_USER:
30576 case RESTRICTED_USER:
30577 case SINGLE_USER:
30578 case OFFLINE:
30579 case EMERGENCY:
30580 case SUSPEND:
30581 case DATE_CORRELATION_OPTIMIZATION:
30582 case ELASTIC_POOL:
30583 case SERVICE_OBJECTIVE:
30584 case DATABASE_NAME:
30585 case ALLOW_CONNECTIONS:
30586 case GEO:
30587 case NAMED:
30588 case DATEFIRST:
30589 case BACKUP_STORAGE_REDUNDANCY:
30590 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
30591 case SECONDARY:
30592 case FAILOVER:
30593 case DEFAULT_FULLTEXT_LANGUAGE:
30594 case DEFAULT_LANGUAGE:
30595 case INLINE:
30596 case NESTED_TRIGGERS:
30597 case TRANSFORM_NOISE_WORDS:
30598 case TWO_DIGIT_YEAR_CUTOFF:
30599 case PERSISTENT_LOG_BUFFER:
30600 case DIRECTORY_NAME:
30601 case DATEFORMAT:
30602 case DELAYED_DURABILITY:
30603 case AUTHORIZATION:
30604 case TRANSFER:
30605 case PROVIDER:
30606 case SID:
30607 case SEARCH:
30608 case MEMBER:
30609 case JSON:
30610 case IDENTIFIER_:
30611 case DELIMITED_IDENTIFIER_:
30612 {
30613 setState(4325);
30614 name();
30615 }
30616 break;
30617 case STRING_:
30618 case NCHAR_TEXT:
30619 {
30620 setState(4326);
30621 stringLiterals();
30622 }
30623 break;
30624 default:
30625 throw new NoViableAltException(this);
30626 }
30627 }
30628 }
30629
30630 }
30631 }
30632 catch (RecognitionException re) {
30633 _localctx.exception = re;
30634 _errHandler.reportError(this, re);
30635 _errHandler.recover(this, re);
30636 }
30637 finally {
30638 exitRule();
30639 }
30640 return _localctx;
30641 }
30642
30643 public static class FilterPredicateContext extends ParserRuleContext {
30644 public List<ConjunctContext> conjunct() {
30645 return getRuleContexts(ConjunctContext.class);
30646 }
30647 public ConjunctContext conjunct(int i) {
30648 return getRuleContext(ConjunctContext.class,i);
30649 }
30650 public List<TerminalNode> AND() { return getTokens(SQLServerStatementParser.AND); }
30651 public TerminalNode AND(int i) {
30652 return getToken(SQLServerStatementParser.AND, i);
30653 }
30654 public FilterPredicateContext(ParserRuleContext parent, int invokingState) {
30655 super(parent, invokingState);
30656 }
30657 @Override public int getRuleIndex() { return RULE_filterPredicate; }
30658 @Override
30659 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30660 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilterPredicate(this);
30661 else return visitor.visitChildren(this);
30662 }
30663 }
30664
30665 public final FilterPredicateContext filterPredicate() throws RecognitionException {
30666 FilterPredicateContext _localctx = new FilterPredicateContext(_ctx, getState());
30667 enterRule(_localctx, 614, RULE_filterPredicate);
30668 int _la;
30669 try {
30670 enterOuterAlt(_localctx, 1);
30671 {
30672 setState(4331);
30673 conjunct();
30674 setState(4336);
30675 _errHandler.sync(this);
30676 _la = _input.LA(1);
30677 while (_la==AND) {
30678 {
30679 {
30680 setState(4332);
30681 match(AND);
30682 setState(4333);
30683 conjunct();
30684 }
30685 }
30686 setState(4338);
30687 _errHandler.sync(this);
30688 _la = _input.LA(1);
30689 }
30690 }
30691 }
30692 catch (RecognitionException re) {
30693 _localctx.exception = re;
30694 _errHandler.reportError(this, re);
30695 _errHandler.recover(this, re);
30696 }
30697 finally {
30698 exitRule();
30699 }
30700 return _localctx;
30701 }
30702
30703 public static class ConjunctContext extends ParserRuleContext {
30704 public ColumnNameContext columnName() {
30705 return getRuleContext(ColumnNameContext.class,0);
30706 }
30707 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
30708 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30709 public List<ExprContext> expr() {
30710 return getRuleContexts(ExprContext.class);
30711 }
30712 public ExprContext expr(int i) {
30713 return getRuleContext(ExprContext.class,i);
30714 }
30715 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30716 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30717 public TerminalNode COMMA_(int i) {
30718 return getToken(SQLServerStatementParser.COMMA_, i);
30719 }
30720 public ComparisonOperatorContext comparisonOperator() {
30721 return getRuleContext(ComparisonOperatorContext.class,0);
30722 }
30723 public ConjunctContext(ParserRuleContext parent, int invokingState) {
30724 super(parent, invokingState);
30725 }
30726 @Override public int getRuleIndex() { return RULE_conjunct; }
30727 @Override
30728 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30729 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConjunct(this);
30730 else return visitor.visitChildren(this);
30731 }
30732 }
30733
30734 public final ConjunctContext conjunct() throws RecognitionException {
30735 ConjunctContext _localctx = new ConjunctContext(_ctx, getState());
30736 enterRule(_localctx, 616, RULE_conjunct);
30737 int _la;
30738 try {
30739 setState(4356);
30740 _errHandler.sync(this);
30741 switch ( getInterpreter().adaptivePredict(_input,469,_ctx) ) {
30742 case 1:
30743 enterOuterAlt(_localctx, 1);
30744 {
30745 setState(4339);
30746 columnName();
30747 setState(4340);
30748 match(IN);
30749 setState(4341);
30750 match(LP_);
30751 setState(4342);
30752 expr(0);
30753 setState(4347);
30754 _errHandler.sync(this);
30755 _la = _input.LA(1);
30756 while (_la==COMMA_) {
30757 {
30758 {
30759 setState(4343);
30760 match(COMMA_);
30761 setState(4344);
30762 expr(0);
30763 }
30764 }
30765 setState(4349);
30766 _errHandler.sync(this);
30767 _la = _input.LA(1);
30768 }
30769 setState(4350);
30770 match(RP_);
30771 }
30772 break;
30773 case 2:
30774 enterOuterAlt(_localctx, 2);
30775 {
30776 setState(4352);
30777 columnName();
30778 setState(4353);
30779 comparisonOperator();
30780 setState(4354);
30781 expr(0);
30782 }
30783 break;
30784 }
30785 }
30786 catch (RecognitionException re) {
30787 _localctx.exception = re;
30788 _errHandler.reportError(this, re);
30789 _errHandler.recover(this, re);
30790 }
30791 finally {
30792 exitRule();
30793 }
30794 return _localctx;
30795 }
30796
30797 public static class AlterIndexClauseContext extends ParserRuleContext {
30798 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
30799 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
30800 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30801 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
30802 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30803 public List<RelationalIndexOptionContext> relationalIndexOption() {
30804 return getRuleContexts(RelationalIndexOptionContext.class);
30805 }
30806 public RelationalIndexOptionContext relationalIndexOption(int i) {
30807 return getRuleContext(RelationalIndexOptionContext.class,i);
30808 }
30809 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30810 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
30811 public ExprContext expr() {
30812 return getRuleContext(ExprContext.class,0);
30813 }
30814 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30815 public TerminalNode COMMA_(int i) {
30816 return getToken(SQLServerStatementParser.COMMA_, i);
30817 }
30818 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
30819 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
30820 public ReorganizeOptionContext reorganizeOption() {
30821 return getRuleContext(ReorganizeOptionContext.class,0);
30822 }
30823 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
30824 public List<SetIndexOptionContext> setIndexOption() {
30825 return getRuleContexts(SetIndexOptionContext.class);
30826 }
30827 public SetIndexOptionContext setIndexOption(int i) {
30828 return getRuleContext(SetIndexOptionContext.class,i);
30829 }
30830 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
30831 public List<ResumableIndexOptionsContext> resumableIndexOptions() {
30832 return getRuleContexts(ResumableIndexOptionsContext.class);
30833 }
30834 public ResumableIndexOptionsContext resumableIndexOptions(int i) {
30835 return getRuleContext(ResumableIndexOptionsContext.class,i);
30836 }
30837 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
30838 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
30839 public AlterIndexClauseContext(ParserRuleContext parent, int invokingState) {
30840 super(parent, invokingState);
30841 }
30842 @Override public int getRuleIndex() { return RULE_alterIndexClause; }
30843 @Override
30844 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30845 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndexClause(this);
30846 else return visitor.visitChildren(this);
30847 }
30848 }
30849
30850 public final AlterIndexClauseContext alterIndexClause() throws RecognitionException {
30851 AlterIndexClauseContext _localctx = new AlterIndexClauseContext(_ctx, getState());
30852 enterRule(_localctx, 618, RULE_alterIndexClause);
30853 int _la;
30854 try {
30855 setState(4420);
30856 _errHandler.sync(this);
30857 switch (_input.LA(1)) {
30858 case REBUILD:
30859 enterOuterAlt(_localctx, 1);
30860 {
30861 setState(4358);
30862 match(REBUILD);
30863 setState(4365);
30864 _errHandler.sync(this);
30865 _la = _input.LA(1);
30866 if (_la==PARTITION) {
30867 {
30868 setState(4359);
30869 match(PARTITION);
30870 setState(4360);
30871 match(EQ_);
30872 setState(4363);
30873 _errHandler.sync(this);
30874 switch (_input.LA(1)) {
30875 case ALL:
30876 {
30877 setState(4361);
30878 match(ALL);
30879 }
30880 break;
30881 case NOT_:
30882 case TILDE_:
30883 case PLUS_:
30884 case MINUS_:
30885 case LP_:
30886 case LBE_:
30887 case LBT_:
30888 case QUESTION_:
30889 case DOLLAR_:
30890 case TRUNCATE:
30891 case SCHEMA:
30892 case COLUMNS:
30893 case PRECISION:
30894 case FUNCTION:
30895 case TRIGGER:
30896 case CASE:
30897 case CAST:
30898 case TRIM:
30899 case SUBSTRING:
30900 case RIGHT:
30901 case OFF:
30902 case IF:
30903 case NOT:
30904 case NULL:
30905 case TRUE:
30906 case FALSE:
30907 case EXISTS:
30908 case GROUP:
30909 case LIMIT:
30910 case OFFSET:
30911 case SAVEPOINT:
30912 case BOOLEAN:
30913 case CHAR:
30914 case ARRAY:
30915 case INTERVAL:
30916 case DATE:
30917 case TIME:
30918 case TIMESTAMP:
30919 case LOCALTIME:
30920 case LOCALTIMESTAMP:
30921 case YEAR:
30922 case QUARTER:
30923 case MONTH:
30924 case WEEK:
30925 case DAY:
30926 case SECOND:
30927 case MICROSECOND:
30928 case MAX:
30929 case MIN:
30930 case SUM:
30931 case COUNT:
30932 case AVG:
30933 case CURRENT:
30934 case ENABLE:
30935 case DISABLE:
30936 case INSTANCE:
30937 case DO:
30938 case DEFINER:
30939 case SQL:
30940 case CASCADED:
30941 case LOCAL:
30942 case NEXT:
30943 case NAME:
30944 case INTEGER:
30945 case TYPE:
30946 case TEXT:
30947 case VIEWS:
30948 case READ_ONLY:
30949 case DATABASE:
30950 case RETURNS:
30951 case DATEPART:
30952 case PASSWORD:
30953 case JSON_OBJECT:
30954 case JSON_ARRAY:
30955 case FIRST_VALUE:
30956 case LAST_VALUE:
30957 case APPROX_PERCENTILE_CONT:
30958 case APPROX_PERCENTILE_DISC:
30959 case OPENDATASOURCE:
30960 case BINARY:
30961 case HIDDEN_:
30962 case MOD:
30963 case PARTITION:
30964 case PARTITIONS:
30965 case TOP:
30966 case ROW:
30967 case ROWS:
30968 case XOR:
30969 case ALWAYS:
30970 case USER:
30971 case ROLE:
30972 case START:
30973 case ALGORITHM:
30974 case AUTO:
30975 case BLOCKERS:
30976 case CLUSTERED:
30977 case NONCLUSTERED:
30978 case COLUMNSTORE:
30979 case CONTENT:
30980 case CONVERT:
30981 case YEARS:
30982 case MONTHS:
30983 case WEEKS:
30984 case DAYS:
30985 case MINUTES:
30986 case DENY:
30987 case DETERMINISTIC:
30988 case DISTRIBUTION:
30989 case DOCUMENT:
30990 case DURABILITY:
30991 case ENCRYPTED:
30992 case FILESTREAM:
30993 case FILETABLE:
30994 case FILLFACTOR:
30995 case FOLLOWING:
30996 case HASH:
30997 case HEAP:
30998 case INBOUND:
30999 case OUTBOUND:
31000 case UNBOUNDED:
31001 case INFINITE:
31002 case LOGIN:
31003 case MASKED:
31004 case MAXDOP:
31005 case MOVE:
31006 case NOCHECK:
31007 case OBJECT:
31008 case ONLINE:
31009 case OVER:
31010 case PAGE:
31011 case PAUSED:
31012 case PERIOD:
31013 case PERSISTED:
31014 case PRECEDING:
31015 case RANDOMIZED:
31016 case RANGE:
31017 case REBUILD:
31018 case REPLICATE:
31019 case REPLICATION:
31020 case RESUMABLE:
31021 case ROWGUIDCOL:
31022 case SAVE:
31023 case SELF:
31024 case SPARSE:
31025 case SWITCH:
31026 case TRAN:
31027 case TRANCOUNT:
31028 case CONTROL:
31029 case CONCAT:
31030 case TAKE:
31031 case OWNERSHIP:
31032 case DEFINITION:
31033 case APPLICATION:
31034 case ASSEMBLY:
31035 case SYMMETRIC:
31036 case ASYMMETRIC:
31037 case SERVER:
31038 case RECEIVE:
31039 case CHANGE:
31040 case TRACE:
31041 case TRACKING:
31042 case RESOURCES:
31043 case SETTINGS:
31044 case STATE:
31045 case AVAILABILITY:
31046 case CREDENTIAL:
31047 case ENDPOINT:
31048 case EVENT:
31049 case NOTIFICATION:
31050 case LINKED:
31051 case AUDIT:
31052 case DDL:
31053 case XML:
31054 case IMPERSONATE:
31055 case SECURABLES:
31056 case AUTHENTICATE:
31057 case EXTERNAL:
31058 case ACCESS:
31059 case ADMINISTER:
31060 case BULK:
31061 case OPERATIONS:
31062 case UNSAFE:
31063 case SHUTDOWN:
31064 case SCOPED:
31065 case CONFIGURATION:
31066 case DATASPACE:
31067 case SERVICE:
31068 case CERTIFICATE:
31069 case CONTRACT:
31070 case ENCRYPTION:
31071 case MASTER:
31072 case DATA:
31073 case SOURCE:
31074 case FILE:
31075 case FORMAT:
31076 case LIBRARY:
31077 case FULLTEXT:
31078 case MASK:
31079 case UNMASK:
31080 case MESSAGE:
31081 case REMOTE:
31082 case BINDING:
31083 case ROUTE:
31084 case SECURITY:
31085 case POLICY:
31086 case AGGREGATE:
31087 case QUEUE:
31088 case RULE:
31089 case SYNONYM:
31090 case COLLECTION:
31091 case SCRIPT:
31092 case KILL:
31093 case BACKUP:
31094 case LOG:
31095 case SHOWPLAN:
31096 case SUBSCRIBE:
31097 case QUERY:
31098 case NOTIFICATIONS:
31099 case CHECKPOINT:
31100 case SEQUENCE:
31101 case ABORT_AFTER_WAIT:
31102 case ALLOW_PAGE_LOCKS:
31103 case ALLOW_ROW_LOCKS:
31104 case ALL_SPARSE_COLUMNS:
31105 case BUCKET_COUNT:
31106 case COLUMNSTORE_ARCHIVE:
31107 case COLUMN_ENCRYPTION_KEY:
31108 case COLUMN_SET:
31109 case COMPRESSION_DELAY:
31110 case DATABASE_DEAULT:
31111 case DATA_COMPRESSION:
31112 case DATA_CONSISTENCY_CHECK:
31113 case ENCRYPTION_TYPE:
31114 case SYSTEM_TIME:
31115 case SYSTEM_VERSIONING:
31116 case TEXTIMAGE_ON:
31117 case WAIT_AT_LOW_PRIORITY:
31118 case STATISTICS_INCREMENTAL:
31119 case STATISTICS_NORECOMPUTE:
31120 case ROUND_ROBIN:
31121 case SCHEMA_AND_DATA:
31122 case SCHEMA_ONLY:
31123 case SORT_IN_TEMPDB:
31124 case IGNORE_DUP_KEY:
31125 case IMPLICIT_TRANSACTIONS:
31126 case MAX_DURATION:
31127 case MEMORY_OPTIMIZED:
31128 case MIGRATION_STATE:
31129 case PAD_INDEX:
31130 case REMOTE_DATA_ARCHIVE:
31131 case FILESTREAM_ON:
31132 case FILETABLE_COLLATE_FILENAME:
31133 case FILETABLE_DIRECTORY:
31134 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
31135 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
31136 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
31137 case FILTER_PREDICATE:
31138 case HISTORY_RETENTION_PERIOD:
31139 case HISTORY_TABLE:
31140 case LOCK_ESCALATION:
31141 case DROP_EXISTING:
31142 case ROW_NUMBER:
31143 case FIRST:
31144 case DATETIME2:
31145 case OUTPUT:
31146 case INSERTED:
31147 case DELETED:
31148 case FILENAME:
31149 case SIZE:
31150 case MAXSIZE:
31151 case FILEGROWTH:
31152 case UNLIMITED:
31153 case KB:
31154 case MB:
31155 case GB:
31156 case TB:
31157 case CONTAINS:
31158 case MEMORY_OPTIMIZED_DATA:
31159 case FILEGROUP:
31160 case NON_TRANSACTED_ACCESS:
31161 case DB_CHAINING:
31162 case TRUSTWORTHY:
31163 case FORWARD_ONLY:
31164 case KEYSET:
31165 case FAST_FORWARD:
31166 case SCROLL_LOCKS:
31167 case OPTIMISTIC:
31168 case TYPE_WARNING:
31169 case SCHEMABINDING:
31170 case CALLER:
31171 case INPUT:
31172 case OWNER:
31173 case SNAPSHOT:
31174 case REPEATABLE:
31175 case SERIALIZABLE:
31176 case NATIVE_COMPILATION:
31177 case VIEW_METADATA:
31178 case INSTEAD:
31179 case APPEND:
31180 case INCREMENT:
31181 case CACHE:
31182 case MINVALUE:
31183 case MAXVALUE:
31184 case RESTART:
31185 case LOB_COMPACTION:
31186 case COMPRESS_ALL_ROW_GROUPS:
31187 case REORGANIZE:
31188 case RESUME:
31189 case PAUSE:
31190 case ABORT:
31191 case ACCELERATED_DATABASE_RECOVERY:
31192 case PERSISTENT_VERSION_STORE_FILEGROUP:
31193 case IMMEDIATE:
31194 case NO_WAIT:
31195 case TARGET_RECOVERY_TIME:
31196 case SECONDS:
31197 case HONOR_BROKER_PRIORITY:
31198 case ERROR_BROKER_CONVERSATIONS:
31199 case NEW_BROKER:
31200 case DISABLE_BROKER:
31201 case ENABLE_BROKER:
31202 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
31203 case READ_COMMITTED_SNAPSHOT:
31204 case ALLOW_SNAPSHOT_ISOLATION:
31205 case RECURSIVE_TRIGGERS:
31206 case QUOTED_IDENTIFIER:
31207 case NUMERIC_ROUNDABORT:
31208 case CONCAT_NULL_YIELDS_NULL:
31209 case COMPATIBILITY_LEVEL:
31210 case ARITHABORT:
31211 case ANSI_WARNINGS:
31212 case ANSI_PADDING:
31213 case ANSI_NULLS:
31214 case ANSI_NULL_DEFAULT:
31215 case PAGE_VERIFY:
31216 case CHECKSUM:
31217 case TORN_PAGE_DETECTION:
31218 case BULK_LOGGED:
31219 case RECOVERY:
31220 case TOTAL_EXECUTION_CPU_TIME_MS:
31221 case TOTAL_COMPILE_CPU_TIME_MS:
31222 case STALE_CAPTURE_POLICY_THRESHOLD:
31223 case EXECUTION_COUNT:
31224 case QUERY_CAPTURE_POLICY:
31225 case WAIT_STATS_CAPTURE_MODE:
31226 case MAX_PLANS_PER_QUERY:
31227 case QUERY_CAPTURE_MODE:
31228 case SIZE_BASED_CLEANUP_MODE:
31229 case INTERVAL_LENGTH_MINUTES:
31230 case MAX_STORAGE_SIZE_MB:
31231 case DATA_FLUSH_INTERVAL_SECONDS:
31232 case CLEANUP_POLICY:
31233 case CUSTOM:
31234 case STALE_QUERY_THRESHOLD_DAYS:
31235 case OPERATION_MODE:
31236 case QUERY_STORE:
31237 case CURSOR_DEFAULT:
31238 case GLOBAL:
31239 case CURSOR_CLOSE_ON_COMMIT:
31240 case HOURS:
31241 case CHANGE_RETENTION:
31242 case AUTO_CLEANUP:
31243 case CHANGE_TRACKING:
31244 case AUTOMATIC_TUNING:
31245 case FORCE_LAST_GOOD_PLAN:
31246 case AUTO_UPDATE_STATISTICS_ASYNC:
31247 case AUTO_UPDATE_STATISTICS:
31248 case AUTO_SHRINK:
31249 case AUTO_CREATE_STATISTICS:
31250 case INCREMENTAL:
31251 case AUTO_CLOSE:
31252 case DATA_RETENTION:
31253 case TEMPORAL_HISTORY_RETENTION:
31254 case EDITION:
31255 case MIXED_PAGE_ALLOCATION:
31256 case DISABLED:
31257 case ALLOWED:
31258 case HADR:
31259 case MULTI_USER:
31260 case RESTRICTED_USER:
31261 case SINGLE_USER:
31262 case OFFLINE:
31263 case EMERGENCY:
31264 case SUSPEND:
31265 case DATE_CORRELATION_OPTIMIZATION:
31266 case ELASTIC_POOL:
31267 case SERVICE_OBJECTIVE:
31268 case DATABASE_NAME:
31269 case ALLOW_CONNECTIONS:
31270 case GEO:
31271 case NAMED:
31272 case DATEFIRST:
31273 case BACKUP_STORAGE_REDUNDANCY:
31274 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
31275 case SECONDARY:
31276 case FAILOVER:
31277 case DEFAULT_FULLTEXT_LANGUAGE:
31278 case DEFAULT_LANGUAGE:
31279 case INLINE:
31280 case NESTED_TRIGGERS:
31281 case TRANSFORM_NOISE_WORDS:
31282 case TWO_DIGIT_YEAR_CUTOFF:
31283 case PERSISTENT_LOG_BUFFER:
31284 case DIRECTORY_NAME:
31285 case DATEFORMAT:
31286 case DELAYED_DURABILITY:
31287 case AUTHORIZATION:
31288 case TRANSFER:
31289 case PROVIDER:
31290 case SID:
31291 case SEARCH:
31292 case MEMBER:
31293 case JSON:
31294 case OPENJSON:
31295 case OPENROWSET:
31296 case TRY_CAST:
31297 case TRY_CONVERT:
31298 case IDENTIFIER_:
31299 case DELIMITED_IDENTIFIER_:
31300 case STRING_:
31301 case NUMBER_:
31302 case HEX_DIGIT_:
31303 case BIT_NUM_:
31304 case NCHAR_TEXT:
31305 {
31306 setState(4362);
31307 expr(0);
31308 }
31309 break;
31310 default:
31311 throw new NoViableAltException(this);
31312 }
31313 }
31314 }
31315
31316 setState(4379);
31317 _errHandler.sync(this);
31318 _la = _input.LA(1);
31319 if (_la==WITH) {
31320 {
31321 setState(4367);
31322 match(WITH);
31323 setState(4368);
31324 match(LP_);
31325 setState(4369);
31326 relationalIndexOption();
31327 setState(4374);
31328 _errHandler.sync(this);
31329 _la = _input.LA(1);
31330 while (_la==COMMA_) {
31331 {
31332 {
31333 setState(4370);
31334 match(COMMA_);
31335 setState(4371);
31336 relationalIndexOption();
31337 }
31338 }
31339 setState(4376);
31340 _errHandler.sync(this);
31341 _la = _input.LA(1);
31342 }
31343 setState(4377);
31344 match(RP_);
31345 }
31346 }
31347
31348 }
31349 break;
31350 case DISABLE:
31351 enterOuterAlt(_localctx, 2);
31352 {
31353 setState(4381);
31354 match(DISABLE);
31355 }
31356 break;
31357 case REORGANIZE:
31358 enterOuterAlt(_localctx, 3);
31359 {
31360 setState(4382);
31361 match(REORGANIZE);
31362 setState(4386);
31363 _errHandler.sync(this);
31364 _la = _input.LA(1);
31365 if (_la==PARTITION) {
31366 {
31367 setState(4383);
31368 match(PARTITION);
31369 setState(4384);
31370 match(EQ_);
31371 setState(4385);
31372 expr(0);
31373 }
31374 }
31375
31376 setState(4393);
31377 _errHandler.sync(this);
31378 _la = _input.LA(1);
31379 if (_la==WITH) {
31380 {
31381 setState(4388);
31382 match(WITH);
31383 setState(4389);
31384 match(LP_);
31385 setState(4390);
31386 reorganizeOption();
31387 setState(4391);
31388 match(RP_);
31389 }
31390 }
31391
31392 }
31393 break;
31394 case SET:
31395 enterOuterAlt(_localctx, 4);
31396 {
31397 setState(4395);
31398 match(SET);
31399 setState(4396);
31400 match(LP_);
31401 setState(4397);
31402 setIndexOption();
31403 {
31404 setState(4398);
31405 match(COMMA_);
31406 setState(4399);
31407 setIndexOption();
31408 }
31409 setState(4401);
31410 match(RP_);
31411 }
31412 break;
31413 case RESUME:
31414 enterOuterAlt(_localctx, 5);
31415 {
31416 setState(4403);
31417 match(RESUME);
31418 setState(4416);
31419 _errHandler.sync(this);
31420 _la = _input.LA(1);
31421 if (_la==WITH) {
31422 {
31423 setState(4404);
31424 match(WITH);
31425 setState(4405);
31426 match(LP_);
31427 setState(4406);
31428 resumableIndexOptions();
31429 setState(4411);
31430 _errHandler.sync(this);
31431 _la = _input.LA(1);
31432 while (_la==COMMA_) {
31433 {
31434 {
31435 setState(4407);
31436 match(COMMA_);
31437 setState(4408);
31438 resumableIndexOptions();
31439 }
31440 }
31441 setState(4413);
31442 _errHandler.sync(this);
31443 _la = _input.LA(1);
31444 }
31445 setState(4414);
31446 match(RP_);
31447 }
31448 }
31449
31450 }
31451 break;
31452 case PAUSE:
31453 enterOuterAlt(_localctx, 6);
31454 {
31455 setState(4418);
31456 match(PAUSE);
31457 }
31458 break;
31459 case ABORT:
31460 enterOuterAlt(_localctx, 7);
31461 {
31462 setState(4419);
31463 match(ABORT);
31464 }
31465 break;
31466 default:
31467 throw new NoViableAltException(this);
31468 }
31469 }
31470 catch (RecognitionException re) {
31471 _localctx.exception = re;
31472 _errHandler.reportError(this, re);
31473 _errHandler.recover(this, re);
31474 }
31475 finally {
31476 exitRule();
31477 }
31478 return _localctx;
31479 }
31480
31481 public static class RelationalIndexOptionContext extends ParserRuleContext {
31482 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
31483 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31484 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31485 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31486 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
31487 public ExprContext expr() {
31488 return getRuleContext(ExprContext.class,0);
31489 }
31490 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
31491 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
31492 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
31493 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
31494 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
31495 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
31496 public LowPriorityLockWaitContext lowPriorityLockWait() {
31497 return getRuleContext(LowPriorityLockWaitContext.class,0);
31498 }
31499 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
31500 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
31501 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31502 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
31503 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
31504 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
31505 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
31506 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
31507 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
31508 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
31509 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
31510 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
31511 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
31512 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
31513 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31514 public List<PartitionNumberRangeContext> partitionNumberRange() {
31515 return getRuleContexts(PartitionNumberRangeContext.class);
31516 }
31517 public PartitionNumberRangeContext partitionNumberRange(int i) {
31518 return getRuleContext(PartitionNumberRangeContext.class,i);
31519 }
31520 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31521 public TerminalNode COMMA_(int i) {
31522 return getToken(SQLServerStatementParser.COMMA_, i);
31523 }
31524 public RelationalIndexOptionContext(ParserRuleContext parent, int invokingState) {
31525 super(parent, invokingState);
31526 }
31527 @Override public int getRuleIndex() { return RULE_relationalIndexOption; }
31528 @Override
31529 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31530 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRelationalIndexOption(this);
31531 else return visitor.visitChildren(this);
31532 }
31533 }
31534
31535 public final RelationalIndexOptionContext relationalIndexOption() throws RecognitionException {
31536 RelationalIndexOptionContext _localctx = new RelationalIndexOptionContext(_ctx, getState());
31537 enterRule(_localctx, 620, RULE_relationalIndexOption);
31538 int _la;
31539 try {
31540 int _alt;
31541 setState(4489);
31542 _errHandler.sync(this);
31543 switch (_input.LA(1)) {
31544 case PAD_INDEX:
31545 enterOuterAlt(_localctx, 1);
31546 {
31547 setState(4422);
31548 match(PAD_INDEX);
31549 setState(4423);
31550 match(EQ_);
31551 setState(4424);
31552 _la = _input.LA(1);
31553 if ( !(_la==ON || _la==OFF) ) {
31554 _errHandler.recoverInline(this);
31555 }
31556 else {
31557 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31558 _errHandler.reportMatch(this);
31559 consume();
31560 }
31561 }
31562 break;
31563 case FILLFACTOR:
31564 enterOuterAlt(_localctx, 2);
31565 {
31566 setState(4425);
31567 match(FILLFACTOR);
31568 setState(4426);
31569 match(EQ_);
31570 setState(4427);
31571 expr(0);
31572 }
31573 break;
31574 case SORT_IN_TEMPDB:
31575 enterOuterAlt(_localctx, 3);
31576 {
31577 setState(4428);
31578 match(SORT_IN_TEMPDB);
31579 setState(4429);
31580 match(EQ_);
31581 setState(4430);
31582 _la = _input.LA(1);
31583 if ( !(_la==ON || _la==OFF) ) {
31584 _errHandler.recoverInline(this);
31585 }
31586 else {
31587 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31588 _errHandler.reportMatch(this);
31589 consume();
31590 }
31591 }
31592 break;
31593 case IGNORE_DUP_KEY:
31594 enterOuterAlt(_localctx, 4);
31595 {
31596 setState(4431);
31597 match(IGNORE_DUP_KEY);
31598 setState(4432);
31599 match(EQ_);
31600 setState(4433);
31601 _la = _input.LA(1);
31602 if ( !(_la==ON || _la==OFF) ) {
31603 _errHandler.recoverInline(this);
31604 }
31605 else {
31606 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31607 _errHandler.reportMatch(this);
31608 consume();
31609 }
31610 }
31611 break;
31612 case STATISTICS_NORECOMPUTE:
31613 enterOuterAlt(_localctx, 5);
31614 {
31615 setState(4434);
31616 match(STATISTICS_NORECOMPUTE);
31617 setState(4435);
31618 match(EQ_);
31619 setState(4436);
31620 _la = _input.LA(1);
31621 if ( !(_la==ON || _la==OFF) ) {
31622 _errHandler.recoverInline(this);
31623 }
31624 else {
31625 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31626 _errHandler.reportMatch(this);
31627 consume();
31628 }
31629 }
31630 break;
31631 case STATISTICS_INCREMENTAL:
31632 enterOuterAlt(_localctx, 6);
31633 {
31634 setState(4437);
31635 match(STATISTICS_INCREMENTAL);
31636 setState(4438);
31637 match(EQ_);
31638 setState(4439);
31639 _la = _input.LA(1);
31640 if ( !(_la==ON || _la==OFF) ) {
31641 _errHandler.recoverInline(this);
31642 }
31643 else {
31644 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31645 _errHandler.reportMatch(this);
31646 consume();
31647 }
31648 }
31649 break;
31650 case DROP_EXISTING:
31651 enterOuterAlt(_localctx, 7);
31652 {
31653 setState(4440);
31654 match(DROP_EXISTING);
31655 setState(4441);
31656 match(EQ_);
31657 setState(4442);
31658 _la = _input.LA(1);
31659 if ( !(_la==ON || _la==OFF) ) {
31660 _errHandler.recoverInline(this);
31661 }
31662 else {
31663 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31664 _errHandler.reportMatch(this);
31665 consume();
31666 }
31667 }
31668 break;
31669 case ONLINE:
31670 enterOuterAlt(_localctx, 8);
31671 {
31672 setState(4443);
31673 match(ONLINE);
31674 setState(4444);
31675 match(EQ_);
31676 setState(4450);
31677 _errHandler.sync(this);
31678 switch (_input.LA(1)) {
31679 case ON:
31680 {
31681 setState(4445);
31682 match(ON);
31683 setState(4447);
31684 _errHandler.sync(this);
31685 _la = _input.LA(1);
31686 if (_la==WAIT_AT_LOW_PRIORITY) {
31687 {
31688 setState(4446);
31689 lowPriorityLockWait();
31690 }
31691 }
31692
31693 }
31694 break;
31695 case OFF:
31696 {
31697 setState(4449);
31698 match(OFF);
31699 }
31700 break;
31701 default:
31702 throw new NoViableAltException(this);
31703 }
31704 }
31705 break;
31706 case RESUMABLE:
31707 enterOuterAlt(_localctx, 9);
31708 {
31709 setState(4452);
31710 match(RESUMABLE);
31711 setState(4453);
31712 match(EQ_);
31713 setState(4454);
31714 _la = _input.LA(1);
31715 if ( !(_la==ON || _la==OFF) ) {
31716 _errHandler.recoverInline(this);
31717 }
31718 else {
31719 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31720 _errHandler.reportMatch(this);
31721 consume();
31722 }
31723 }
31724 break;
31725 case MAX_DURATION:
31726 enterOuterAlt(_localctx, 10);
31727 {
31728 setState(4455);
31729 match(MAX_DURATION);
31730 setState(4456);
31731 match(EQ_);
31732 setState(4457);
31733 expr(0);
31734 setState(4459);
31735 _errHandler.sync(this);
31736 _la = _input.LA(1);
31737 if (_la==MINUTES) {
31738 {
31739 setState(4458);
31740 match(MINUTES);
31741 }
31742 }
31743
31744 }
31745 break;
31746 case ALLOW_ROW_LOCKS:
31747 enterOuterAlt(_localctx, 11);
31748 {
31749 setState(4461);
31750 match(ALLOW_ROW_LOCKS);
31751 setState(4462);
31752 match(EQ_);
31753 setState(4463);
31754 _la = _input.LA(1);
31755 if ( !(_la==ON || _la==OFF) ) {
31756 _errHandler.recoverInline(this);
31757 }
31758 else {
31759 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31760 _errHandler.reportMatch(this);
31761 consume();
31762 }
31763 }
31764 break;
31765 case ALLOW_PAGE_LOCKS:
31766 enterOuterAlt(_localctx, 12);
31767 {
31768 setState(4464);
31769 match(ALLOW_PAGE_LOCKS);
31770 setState(4465);
31771 match(EQ_);
31772 setState(4466);
31773 _la = _input.LA(1);
31774 if ( !(_la==ON || _la==OFF) ) {
31775 _errHandler.recoverInline(this);
31776 }
31777 else {
31778 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31779 _errHandler.reportMatch(this);
31780 consume();
31781 }
31782 }
31783 break;
31784 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
31785 enterOuterAlt(_localctx, 13);
31786 {
31787 setState(4467);
31788 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
31789 setState(4468);
31790 match(EQ_);
31791 setState(4469);
31792 _la = _input.LA(1);
31793 if ( !(_la==ON || _la==OFF) ) {
31794 _errHandler.recoverInline(this);
31795 }
31796 else {
31797 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31798 _errHandler.reportMatch(this);
31799 consume();
31800 }
31801 }
31802 break;
31803 case MAXDOP:
31804 enterOuterAlt(_localctx, 14);
31805 {
31806 setState(4470);
31807 match(MAXDOP);
31808 setState(4471);
31809 match(EQ_);
31810 setState(4472);
31811 expr(0);
31812 }
31813 break;
31814 case DATA_COMPRESSION:
31815 enterOuterAlt(_localctx, 15);
31816 {
31817 setState(4473);
31818 match(DATA_COMPRESSION);
31819 setState(4474);
31820 match(EQ_);
31821 setState(4475);
31822 _la = _input.LA(1);
31823 if ( !(((((_la - 249)) & ~0x3f) == 0 && ((1L << (_la - 249)) & ((1L << (ROW - 249)) | (1L << (COLUMNSTORE - 249)) | (1L << (NONE - 249)) | (1L << (PAGE - 249)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
31824 _errHandler.recoverInline(this);
31825 }
31826 else {
31827 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31828 _errHandler.reportMatch(this);
31829 consume();
31830 }
31831 setState(4487);
31832 _errHandler.sync(this);
31833 _la = _input.LA(1);
31834 if (_la==ON) {
31835 {
31836 setState(4476);
31837 match(ON);
31838 setState(4477);
31839 match(PARTITIONS);
31840 setState(4478);
31841 match(LP_);
31842 setState(4479);
31843 partitionNumberRange();
31844 setState(4484);
31845 _errHandler.sync(this);
31846 _alt = getInterpreter().adaptivePredict(_input,482,_ctx);
31847 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
31848 if ( _alt==1 ) {
31849 {
31850 {
31851 setState(4480);
31852 match(COMMA_);
31853 setState(4481);
31854 partitionNumberRange();
31855 }
31856 }
31857 }
31858 setState(4486);
31859 _errHandler.sync(this);
31860 _alt = getInterpreter().adaptivePredict(_input,482,_ctx);
31861 }
31862 }
31863 }
31864
31865 }
31866 break;
31867 default:
31868 throw new NoViableAltException(this);
31869 }
31870 }
31871 catch (RecognitionException re) {
31872 _localctx.exception = re;
31873 _errHandler.reportError(this, re);
31874 _errHandler.recover(this, re);
31875 }
31876 finally {
31877 exitRule();
31878 }
31879 return _localctx;
31880 }
31881
31882 public static class PartitionNumberRangeContext extends ParserRuleContext {
31883 public List<ExprContext> expr() {
31884 return getRuleContexts(ExprContext.class);
31885 }
31886 public ExprContext expr(int i) {
31887 return getRuleContext(ExprContext.class,i);
31888 }
31889 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
31890 public PartitionNumberRangeContext(ParserRuleContext parent, int invokingState) {
31891 super(parent, invokingState);
31892 }
31893 @Override public int getRuleIndex() { return RULE_partitionNumberRange; }
31894 @Override
31895 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31896 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionNumberRange(this);
31897 else return visitor.visitChildren(this);
31898 }
31899 }
31900
31901 public final PartitionNumberRangeContext partitionNumberRange() throws RecognitionException {
31902 PartitionNumberRangeContext _localctx = new PartitionNumberRangeContext(_ctx, getState());
31903 enterRule(_localctx, 622, RULE_partitionNumberRange);
31904 int _la;
31905 try {
31906 enterOuterAlt(_localctx, 1);
31907 {
31908 setState(4491);
31909 expr(0);
31910 setState(4494);
31911 _errHandler.sync(this);
31912 _la = _input.LA(1);
31913 if (_la==TO) {
31914 {
31915 setState(4492);
31916 match(TO);
31917 setState(4493);
31918 expr(0);
31919 }
31920 }
31921
31922 }
31923 }
31924 catch (RecognitionException re) {
31925 _localctx.exception = re;
31926 _errHandler.reportError(this, re);
31927 _errHandler.recover(this, re);
31928 }
31929 finally {
31930 exitRule();
31931 }
31932 return _localctx;
31933 }
31934
31935 public static class ReorganizeOptionContext extends ParserRuleContext {
31936 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
31937 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31938 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31939 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31940 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
31941 public ReorganizeOptionContext(ParserRuleContext parent, int invokingState) {
31942 super(parent, invokingState);
31943 }
31944 @Override public int getRuleIndex() { return RULE_reorganizeOption; }
31945 @Override
31946 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31947 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitReorganizeOption(this);
31948 else return visitor.visitChildren(this);
31949 }
31950 }
31951
31952 public final ReorganizeOptionContext reorganizeOption() throws RecognitionException {
31953 ReorganizeOptionContext _localctx = new ReorganizeOptionContext(_ctx, getState());
31954 enterRule(_localctx, 624, RULE_reorganizeOption);
31955 int _la;
31956 try {
31957 setState(4502);
31958 _errHandler.sync(this);
31959 switch (_input.LA(1)) {
31960 case LOB_COMPACTION:
31961 enterOuterAlt(_localctx, 1);
31962 {
31963 setState(4496);
31964 match(LOB_COMPACTION);
31965 setState(4497);
31966 match(EQ_);
31967 setState(4498);
31968 _la = _input.LA(1);
31969 if ( !(_la==ON || _la==OFF) ) {
31970 _errHandler.recoverInline(this);
31971 }
31972 else {
31973 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31974 _errHandler.reportMatch(this);
31975 consume();
31976 }
31977 }
31978 break;
31979 case COMPRESS_ALL_ROW_GROUPS:
31980 enterOuterAlt(_localctx, 2);
31981 {
31982 setState(4499);
31983 match(COMPRESS_ALL_ROW_GROUPS);
31984 setState(4500);
31985 match(EQ_);
31986 setState(4501);
31987 _la = _input.LA(1);
31988 if ( !(_la==ON || _la==OFF) ) {
31989 _errHandler.recoverInline(this);
31990 }
31991 else {
31992 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31993 _errHandler.reportMatch(this);
31994 consume();
31995 }
31996 }
31997 break;
31998 default:
31999 throw new NoViableAltException(this);
32000 }
32001 }
32002 catch (RecognitionException re) {
32003 _localctx.exception = re;
32004 _errHandler.reportError(this, re);
32005 _errHandler.recover(this, re);
32006 }
32007 finally {
32008 exitRule();
32009 }
32010 return _localctx;
32011 }
32012
32013 public static class SetIndexOptionContext extends ParserRuleContext {
32014 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
32015 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32016 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32017 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32018 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
32019 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
32020 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
32021 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
32022 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
32023 public ExprContext expr() {
32024 return getRuleContext(ExprContext.class,0);
32025 }
32026 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
32027 public SetIndexOptionContext(ParserRuleContext parent, int invokingState) {
32028 super(parent, invokingState);
32029 }
32030 @Override public int getRuleIndex() { return RULE_setIndexOption; }
32031 @Override
32032 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32033 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetIndexOption(this);
32034 else return visitor.visitChildren(this);
32035 }
32036 }
32037
32038 public final SetIndexOptionContext setIndexOption() throws RecognitionException {
32039 SetIndexOptionContext _localctx = new SetIndexOptionContext(_ctx, getState());
32040 enterRule(_localctx, 626, RULE_setIndexOption);
32041 int _la;
32042 try {
32043 setState(4525);
32044 _errHandler.sync(this);
32045 switch (_input.LA(1)) {
32046 case ALLOW_ROW_LOCKS:
32047 enterOuterAlt(_localctx, 1);
32048 {
32049 setState(4504);
32050 match(ALLOW_ROW_LOCKS);
32051 setState(4505);
32052 match(EQ_);
32053 setState(4506);
32054 _la = _input.LA(1);
32055 if ( !(_la==ON || _la==OFF) ) {
32056 _errHandler.recoverInline(this);
32057 }
32058 else {
32059 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32060 _errHandler.reportMatch(this);
32061 consume();
32062 }
32063 }
32064 break;
32065 case ALLOW_PAGE_LOCKS:
32066 enterOuterAlt(_localctx, 2);
32067 {
32068 setState(4507);
32069 match(ALLOW_PAGE_LOCKS);
32070 setState(4508);
32071 match(EQ_);
32072 setState(4509);
32073 _la = _input.LA(1);
32074 if ( !(_la==ON || _la==OFF) ) {
32075 _errHandler.recoverInline(this);
32076 }
32077 else {
32078 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32079 _errHandler.reportMatch(this);
32080 consume();
32081 }
32082 }
32083 break;
32084 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
32085 enterOuterAlt(_localctx, 3);
32086 {
32087 setState(4510);
32088 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
32089 setState(4511);
32090 match(EQ_);
32091 setState(4512);
32092 _la = _input.LA(1);
32093 if ( !(_la==ON || _la==OFF) ) {
32094 _errHandler.recoverInline(this);
32095 }
32096 else {
32097 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32098 _errHandler.reportMatch(this);
32099 consume();
32100 }
32101 }
32102 break;
32103 case IGNORE_DUP_KEY:
32104 enterOuterAlt(_localctx, 4);
32105 {
32106 setState(4513);
32107 match(IGNORE_DUP_KEY);
32108 setState(4514);
32109 match(EQ_);
32110 setState(4515);
32111 _la = _input.LA(1);
32112 if ( !(_la==ON || _la==OFF) ) {
32113 _errHandler.recoverInline(this);
32114 }
32115 else {
32116 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32117 _errHandler.reportMatch(this);
32118 consume();
32119 }
32120 }
32121 break;
32122 case STATISTICS_NORECOMPUTE:
32123 enterOuterAlt(_localctx, 5);
32124 {
32125 setState(4516);
32126 match(STATISTICS_NORECOMPUTE);
32127 setState(4517);
32128 match(EQ_);
32129 setState(4518);
32130 _la = _input.LA(1);
32131 if ( !(_la==ON || _la==OFF) ) {
32132 _errHandler.recoverInline(this);
32133 }
32134 else {
32135 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32136 _errHandler.reportMatch(this);
32137 consume();
32138 }
32139 }
32140 break;
32141 case COMPRESSION_DELAY:
32142 enterOuterAlt(_localctx, 6);
32143 {
32144 setState(4519);
32145 match(COMPRESSION_DELAY);
32146 setState(4520);
32147 match(EQ_);
32148 {
32149 setState(4521);
32150 expr(0);
32151 setState(4523);
32152 _errHandler.sync(this);
32153 _la = _input.LA(1);
32154 if (_la==MINUTES) {
32155 {
32156 setState(4522);
32157 match(MINUTES);
32158 }
32159 }
32160
32161 }
32162 }
32163 break;
32164 default:
32165 throw new NoViableAltException(this);
32166 }
32167 }
32168 catch (RecognitionException re) {
32169 _localctx.exception = re;
32170 _errHandler.reportError(this, re);
32171 _errHandler.recover(this, re);
32172 }
32173 finally {
32174 exitRule();
32175 }
32176 return _localctx;
32177 }
32178
32179 public static class ResumableIndexOptionsContext extends ParserRuleContext {
32180 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
32181 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32182 public ExprContext expr() {
32183 return getRuleContext(ExprContext.class,0);
32184 }
32185 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
32186 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
32187 public LowPriorityLockWaitContext lowPriorityLockWait() {
32188 return getRuleContext(LowPriorityLockWaitContext.class,0);
32189 }
32190 public ResumableIndexOptionsContext(ParserRuleContext parent, int invokingState) {
32191 super(parent, invokingState);
32192 }
32193 @Override public int getRuleIndex() { return RULE_resumableIndexOptions; }
32194 @Override
32195 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32196 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitResumableIndexOptions(this);
32197 else return visitor.visitChildren(this);
32198 }
32199 }
32200
32201 public final ResumableIndexOptionsContext resumableIndexOptions() throws RecognitionException {
32202 ResumableIndexOptionsContext _localctx = new ResumableIndexOptionsContext(_ctx, getState());
32203 enterRule(_localctx, 628, RULE_resumableIndexOptions);
32204 int _la;
32205 try {
32206 setState(4537);
32207 _errHandler.sync(this);
32208 switch (_input.LA(1)) {
32209 case MAXDOP:
32210 enterOuterAlt(_localctx, 1);
32211 {
32212 setState(4527);
32213 match(MAXDOP);
32214 setState(4528);
32215 match(EQ_);
32216 setState(4529);
32217 expr(0);
32218 }
32219 break;
32220 case MAX_DURATION:
32221 enterOuterAlt(_localctx, 2);
32222 {
32223 setState(4530);
32224 match(MAX_DURATION);
32225 setState(4531);
32226 match(EQ_);
32227 setState(4532);
32228 expr(0);
32229 setState(4534);
32230 _errHandler.sync(this);
32231 _la = _input.LA(1);
32232 if (_la==MINUTES) {
32233 {
32234 setState(4533);
32235 match(MINUTES);
32236 }
32237 }
32238
32239 }
32240 break;
32241 case WAIT_AT_LOW_PRIORITY:
32242 enterOuterAlt(_localctx, 3);
32243 {
32244 setState(4536);
32245 lowPriorityLockWait();
32246 }
32247 break;
32248 default:
32249 throw new NoViableAltException(this);
32250 }
32251 }
32252 catch (RecognitionException re) {
32253 _localctx.exception = re;
32254 _errHandler.reportError(this, re);
32255 _errHandler.recover(this, re);
32256 }
32257 finally {
32258 exitRule();
32259 }
32260 return _localctx;
32261 }
32262
32263 public static class AlterDatabaseClauseContext extends ParserRuleContext {
32264 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
32265 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
32266 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32267 public DatabaseNameContext databaseName() {
32268 return getRuleContext(DatabaseNameContext.class,0);
32269 }
32270 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
32271 public IgnoredIdentifierContext ignoredIdentifier() {
32272 return getRuleContext(IgnoredIdentifierContext.class,0);
32273 }
32274 public FileAndFilegroupOptionsContext fileAndFilegroupOptions() {
32275 return getRuleContext(FileAndFilegroupOptionsContext.class,0);
32276 }
32277 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
32278 public List<AlterDatabaseOptionSpecContext> alterDatabaseOptionSpec() {
32279 return getRuleContexts(AlterDatabaseOptionSpecContext.class);
32280 }
32281 public AlterDatabaseOptionSpecContext alterDatabaseOptionSpec(int i) {
32282 return getRuleContext(AlterDatabaseOptionSpecContext.class,i);
32283 }
32284 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32285 public TerminalNode COMMA_(int i) {
32286 return getToken(SQLServerStatementParser.COMMA_, i);
32287 }
32288 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
32289 public TerminationContext termination() {
32290 return getRuleContext(TerminationContext.class,0);
32291 }
32292 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32293 public List<EditionOptionsContext> editionOptions() {
32294 return getRuleContexts(EditionOptionsContext.class);
32295 }
32296 public EditionOptionsContext editionOptions(int i) {
32297 return getRuleContext(EditionOptionsContext.class,i);
32298 }
32299 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32300 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
32301 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32302 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
32303 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
32304 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32305 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
32306 public List<AddSecondaryOptionContext> addSecondaryOption() {
32307 return getRuleContexts(AddSecondaryOptionContext.class);
32308 }
32309 public AddSecondaryOptionContext addSecondaryOption(int i) {
32310 return getRuleContext(AddSecondaryOptionContext.class,i);
32311 }
32312 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
32313 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
32314 public AlterDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
32315 super(parent, invokingState);
32316 }
32317 @Override public int getRuleIndex() { return RULE_alterDatabaseClause; }
32318 @Override
32319 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32320 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseClause(this);
32321 else return visitor.visitChildren(this);
32322 }
32323 }
32324
32325 public final AlterDatabaseClauseContext alterDatabaseClause() throws RecognitionException {
32326 AlterDatabaseClauseContext _localctx = new AlterDatabaseClauseContext(_ctx, getState());
32327 enterRule(_localctx, 630, RULE_alterDatabaseClause);
32328 int _la;
32329 try {
32330 setState(4593);
32331 _errHandler.sync(this);
32332 switch ( getInterpreter().adaptivePredict(_input,496,_ctx) ) {
32333 case 1:
32334 enterOuterAlt(_localctx, 1);
32335 {
32336 setState(4539);
32337 match(MODIFY);
32338 setState(4540);
32339 match(NAME);
32340 setState(4541);
32341 match(EQ_);
32342 setState(4542);
32343 databaseName();
32344 }
32345 break;
32346 case 2:
32347 enterOuterAlt(_localctx, 2);
32348 {
32349 setState(4543);
32350 match(COLLATE);
32351 setState(4544);
32352 ignoredIdentifier();
32353 }
32354 break;
32355 case 3:
32356 enterOuterAlt(_localctx, 3);
32357 {
32358 setState(4545);
32359 fileAndFilegroupOptions();
32360 }
32361 break;
32362 case 4:
32363 enterOuterAlt(_localctx, 4);
32364 {
32365 setState(4546);
32366 match(SET);
32367 setState(4547);
32368 alterDatabaseOptionSpec();
32369 setState(4552);
32370 _errHandler.sync(this);
32371 _la = _input.LA(1);
32372 while (_la==COMMA_) {
32373 {
32374 {
32375 setState(4548);
32376 match(COMMA_);
32377 setState(4549);
32378 alterDatabaseOptionSpec();
32379 }
32380 }
32381 setState(4554);
32382 _errHandler.sync(this);
32383 _la = _input.LA(1);
32384 }
32385 setState(4557);
32386 _errHandler.sync(this);
32387 _la = _input.LA(1);
32388 if (_la==WITH) {
32389 {
32390 setState(4555);
32391 match(WITH);
32392 setState(4556);
32393 termination();
32394 }
32395 }
32396
32397 }
32398 break;
32399 case 5:
32400 enterOuterAlt(_localctx, 5);
32401 {
32402 setState(4559);
32403 match(MODIFY);
32404 setState(4560);
32405 match(LP_);
32406 setState(4561);
32407 editionOptions();
32408 setState(4566);
32409 _errHandler.sync(this);
32410 _la = _input.LA(1);
32411 while (_la==COMMA_) {
32412 {
32413 {
32414 setState(4562);
32415 match(COMMA_);
32416 setState(4563);
32417 editionOptions();
32418 }
32419 }
32420 setState(4568);
32421 _errHandler.sync(this);
32422 _la = _input.LA(1);
32423 }
32424 setState(4569);
32425 match(RP_);
32426 }
32427 break;
32428 case 6:
32429 enterOuterAlt(_localctx, 6);
32430 {
32431 setState(4571);
32432 match(MODIFY);
32433 setState(4572);
32434 match(BACKUP_STORAGE_REDUNDANCY);
32435 setState(4573);
32436 match(EQ_);
32437 setState(4574);
32438 match(STRING_);
32439 }
32440 break;
32441 case 7:
32442 enterOuterAlt(_localctx, 7);
32443 {
32444 setState(4575);
32445 match(ADD);
32446 setState(4576);
32447 match(SECONDARY);
32448 setState(4577);
32449 match(ON);
32450 setState(4578);
32451 match(SERVER);
32452 setState(4579);
32453 ignoredIdentifier();
32454 setState(4589);
32455 _errHandler.sync(this);
32456 _la = _input.LA(1);
32457 if (_la==WITH) {
32458 {
32459 setState(4580);
32460 match(WITH);
32461 setState(4581);
32462 addSecondaryOption();
32463 setState(4586);
32464 _errHandler.sync(this);
32465 _la = _input.LA(1);
32466 while (_la==COMMA_) {
32467 {
32468 {
32469 setState(4582);
32470 match(COMMA_);
32471 setState(4583);
32472 addSecondaryOption();
32473 }
32474 }
32475 setState(4588);
32476 _errHandler.sync(this);
32477 _la = _input.LA(1);
32478 }
32479 }
32480 }
32481
32482 }
32483 break;
32484 case 8:
32485 enterOuterAlt(_localctx, 8);
32486 {
32487 setState(4591);
32488 match(FAILOVER);
32489 }
32490 break;
32491 case 9:
32492 enterOuterAlt(_localctx, 9);
32493 {
32494 setState(4592);
32495 match(FORCE_FAILOVER_ALLOW_DATA_LOSS);
32496 }
32497 break;
32498 }
32499 }
32500 catch (RecognitionException re) {
32501 _localctx.exception = re;
32502 _errHandler.reportError(this, re);
32503 _errHandler.recover(this, re);
32504 }
32505 finally {
32506 exitRule();
32507 }
32508 return _localctx;
32509 }
32510
32511 public static class AddSecondaryOptionContext extends ParserRuleContext {
32512 public Token SECONDARY_TYPE;
32513 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
32514 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32515 public TerminalNode EQ_(int i) {
32516 return getToken(SQLServerStatementParser.EQ_, i);
32517 }
32518 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
32519 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
32520 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
32521 public ServiceObjectiveContext serviceObjective() {
32522 return getRuleContext(ServiceObjectiveContext.class,0);
32523 }
32524 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
32525 public DatabaseNameContext databaseName() {
32526 return getRuleContext(DatabaseNameContext.class,0);
32527 }
32528 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
32529 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
32530 public AddSecondaryOptionContext(ParserRuleContext parent, int invokingState) {
32531 super(parent, invokingState);
32532 }
32533 @Override public int getRuleIndex() { return RULE_addSecondaryOption; }
32534 @Override
32535 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32536 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddSecondaryOption(this);
32537 else return visitor.visitChildren(this);
32538 }
32539 }
32540
32541 public final AddSecondaryOptionContext addSecondaryOption() throws RecognitionException {
32542 AddSecondaryOptionContext _localctx = new AddSecondaryOptionContext(_ctx, getState());
32543 enterRule(_localctx, 632, RULE_addSecondaryOption);
32544 int _la;
32545 try {
32546 setState(4607);
32547 _errHandler.sync(this);
32548 switch (_input.LA(1)) {
32549 case ALLOW_CONNECTIONS:
32550 enterOuterAlt(_localctx, 1);
32551 {
32552 setState(4595);
32553 match(ALLOW_CONNECTIONS);
32554 setState(4596);
32555 match(EQ_);
32556 setState(4597);
32557 _la = _input.LA(1);
32558 if ( !(_la==ALL || _la==NO) ) {
32559 _errHandler.recoverInline(this);
32560 }
32561 else {
32562 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32563 _errHandler.reportMatch(this);
32564 consume();
32565 }
32566 }
32567 break;
32568 case SERVICE_OBJECTIVE:
32569 enterOuterAlt(_localctx, 2);
32570 {
32571 setState(4598);
32572 match(SERVICE_OBJECTIVE);
32573 setState(4599);
32574 match(EQ_);
32575 setState(4605);
32576 _errHandler.sync(this);
32577 switch (_input.LA(1)) {
32578 case ELASTIC_POOL:
32579 case STRING_:
32580 {
32581 setState(4600);
32582 serviceObjective();
32583 }
32584 break;
32585 case DATABASE_NAME:
32586 {
32587 setState(4601);
32588 match(DATABASE_NAME);
32589 setState(4602);
32590 match(EQ_);
32591 setState(4603);
32592 databaseName();
32593 }
32594 break;
32595 case GEO:
32596 case NAMED:
32597 {
32598 setState(4604);
32599 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = _input.LT(1);
32600 _la = _input.LA(1);
32601 if ( !(_la==GEO || _la==NAMED) ) {
32602 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = (Token)_errHandler.recoverInline(this);
32603 }
32604 else {
32605 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32606 _errHandler.reportMatch(this);
32607 consume();
32608 }
32609 }
32610 break;
32611 default:
32612 throw new NoViableAltException(this);
32613 }
32614 }
32615 break;
32616 default:
32617 throw new NoViableAltException(this);
32618 }
32619 }
32620 catch (RecognitionException re) {
32621 _localctx.exception = re;
32622 _errHandler.reportError(this, re);
32623 _errHandler.recover(this, re);
32624 }
32625 finally {
32626 exitRule();
32627 }
32628 return _localctx;
32629 }
32630
32631 public static class EditionOptionsContext extends ParserRuleContext {
32632 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
32633 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32634 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32635 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
32636 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
32637 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
32638 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32639 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
32640 public ServiceObjectiveContext serviceObjective() {
32641 return getRuleContext(ServiceObjectiveContext.class,0);
32642 }
32643 public EditionOptionsContext(ParserRuleContext parent, int invokingState) {
32644 super(parent, invokingState);
32645 }
32646 @Override public int getRuleIndex() { return RULE_editionOptions; }
32647 @Override
32648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEditionOptions(this);
32650 else return visitor.visitChildren(this);
32651 }
32652 }
32653
32654 public final EditionOptionsContext editionOptions() throws RecognitionException {
32655 EditionOptionsContext _localctx = new EditionOptionsContext(_ctx, getState());
32656 enterRule(_localctx, 634, RULE_editionOptions);
32657 int _la;
32658 try {
32659 setState(4622);
32660 _errHandler.sync(this);
32661 switch (_input.LA(1)) {
32662 case MAXSIZE:
32663 enterOuterAlt(_localctx, 1);
32664 {
32665 setState(4609);
32666 match(MAXSIZE);
32667 setState(4610);
32668 match(EQ_);
32669 setState(4611);
32670 match(NUMBER_);
32671 setState(4612);
32672 _la = _input.LA(1);
32673 if ( !(_la==MB || _la==GB) ) {
32674 _errHandler.recoverInline(this);
32675 }
32676 else {
32677 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32678 _errHandler.reportMatch(this);
32679 consume();
32680 }
32681 }
32682 break;
32683 case EDITION:
32684 enterOuterAlt(_localctx, 2);
32685 {
32686 setState(4613);
32687 match(EDITION);
32688 setState(4614);
32689 match(EQ_);
32690 setState(4615);
32691 match(STRING_);
32692 }
32693 break;
32694 case SERVICE_OBJECTIVE:
32695 enterOuterAlt(_localctx, 3);
32696 {
32697 setState(4616);
32698 match(SERVICE_OBJECTIVE);
32699 setState(4617);
32700 match(EQ_);
32701 setState(4620);
32702 _errHandler.sync(this);
32703 switch ( getInterpreter().adaptivePredict(_input,499,_ctx) ) {
32704 case 1:
32705 {
32706 setState(4618);
32707 match(STRING_);
32708 }
32709 break;
32710 case 2:
32711 {
32712 setState(4619);
32713 serviceObjective();
32714 }
32715 break;
32716 }
32717 }
32718 break;
32719 default:
32720 throw new NoViableAltException(this);
32721 }
32722 }
32723 catch (RecognitionException re) {
32724 _localctx.exception = re;
32725 _errHandler.reportError(this, re);
32726 _errHandler.recover(this, re);
32727 }
32728 finally {
32729 exitRule();
32730 }
32731 return _localctx;
32732 }
32733
32734 public static class ServiceObjectiveContext extends ParserRuleContext {
32735 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32736 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
32737 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32738 public IgnoredIdentifierContext ignoredIdentifier() {
32739 return getRuleContext(IgnoredIdentifierContext.class,0);
32740 }
32741 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32742 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32743 public ServiceObjectiveContext(ParserRuleContext parent, int invokingState) {
32744 super(parent, invokingState);
32745 }
32746 @Override public int getRuleIndex() { return RULE_serviceObjective; }
32747 @Override
32748 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32749 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceObjective(this);
32750 else return visitor.visitChildren(this);
32751 }
32752 }
32753
32754 public final ServiceObjectiveContext serviceObjective() throws RecognitionException {
32755 ServiceObjectiveContext _localctx = new ServiceObjectiveContext(_ctx, getState());
32756 enterRule(_localctx, 636, RULE_serviceObjective);
32757 try {
32758 setState(4632);
32759 _errHandler.sync(this);
32760 switch (_input.LA(1)) {
32761 case STRING_:
32762 enterOuterAlt(_localctx, 1);
32763 {
32764 setState(4624);
32765 match(STRING_);
32766 }
32767 break;
32768 case ELASTIC_POOL:
32769 enterOuterAlt(_localctx, 2);
32770 {
32771 setState(4625);
32772 match(ELASTIC_POOL);
32773 setState(4626);
32774 match(LP_);
32775 setState(4627);
32776 ignoredIdentifier();
32777 setState(4628);
32778 match(EQ_);
32779 setState(4629);
32780 match(STRING_);
32781 setState(4630);
32782 match(RP_);
32783 }
32784 break;
32785 default:
32786 throw new NoViableAltException(this);
32787 }
32788 }
32789 catch (RecognitionException re) {
32790 _localctx.exception = re;
32791 _errHandler.reportError(this, re);
32792 _errHandler.recover(this, re);
32793 }
32794 finally {
32795 exitRule();
32796 }
32797 return _localctx;
32798 }
32799
32800 public static class AlterDatabaseOptionSpecContext extends ParserRuleContext {
32801 public AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() {
32802 return getRuleContext(AcceleratedDatabaseRecoveryContext.class,0);
32803 }
32804 public AutoOptionContext autoOption() {
32805 return getRuleContext(AutoOptionContext.class,0);
32806 }
32807 public AutomaticTuningOptionContext automaticTuningOption() {
32808 return getRuleContext(AutomaticTuningOptionContext.class,0);
32809 }
32810 public ChangeTrackingOptionContext changeTrackingOption() {
32811 return getRuleContext(ChangeTrackingOptionContext.class,0);
32812 }
32813 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
32814 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32815 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
32816 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
32817 public CursorOptionContext cursorOption() {
32818 return getRuleContext(CursorOptionContext.class,0);
32819 }
32820 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
32821 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32822 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32823 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
32824 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
32825 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
32826 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
32827 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
32828 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
32829 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
32830 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
32831 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
32832 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
32833 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
32834 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
32835 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
32836 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
32837 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
32838 public ExternalAccessOptionContext externalAccessOption() {
32839 return getRuleContext(ExternalAccessOptionContext.class,0);
32840 }
32841 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
32842 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32843 public FileStreamOptionContext fileStreamOption() {
32844 return getRuleContext(FileStreamOptionContext.class,0);
32845 }
32846 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32847 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
32848 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
32849 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
32850 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
32851 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
32852 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
32853 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
32854 public QueryStoreOptionsContext queryStoreOptions() {
32855 return getRuleContext(QueryStoreOptionsContext.class,0);
32856 }
32857 public RecoveryOptionContext recoveryOption() {
32858 return getRuleContext(RecoveryOptionContext.class,0);
32859 }
32860 public ServiceBrokerOptionContext serviceBrokerOption() {
32861 return getRuleContext(ServiceBrokerOptionContext.class,0);
32862 }
32863 public SnapshotOptionContext snapshotOption() {
32864 return getRuleContext(SnapshotOptionContext.class,0);
32865 }
32866 public SqlOptionContext sqlOption() {
32867 return getRuleContext(SqlOptionContext.class,0);
32868 }
32869 public TargetRecoveryTimeOptionContext targetRecoveryTimeOption() {
32870 return getRuleContext(TargetRecoveryTimeOptionContext.class,0);
32871 }
32872 public TerminationContext termination() {
32873 return getRuleContext(TerminationContext.class,0);
32874 }
32875 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
32876 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
32877 public AlterDatabaseOptionSpecContext(ParserRuleContext parent, int invokingState) {
32878 super(parent, invokingState);
32879 }
32880 @Override public int getRuleIndex() { return RULE_alterDatabaseOptionSpec; }
32881 @Override
32882 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32883 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseOptionSpec(this);
32884 else return visitor.visitChildren(this);
32885 }
32886 }
32887
32888 public final AlterDatabaseOptionSpecContext alterDatabaseOptionSpec() throws RecognitionException {
32889 AlterDatabaseOptionSpecContext _localctx = new AlterDatabaseOptionSpecContext(_ctx, getState());
32890 enterRule(_localctx, 638, RULE_alterDatabaseOptionSpec);
32891 int _la;
32892 try {
32893 setState(4677);
32894 _errHandler.sync(this);
32895 switch (_input.LA(1)) {
32896 case ACCELERATED_DATABASE_RECOVERY:
32897 enterOuterAlt(_localctx, 1);
32898 {
32899 setState(4634);
32900 acceleratedDatabaseRecovery();
32901 }
32902 break;
32903 case AUTO_UPDATE_STATISTICS_ASYNC:
32904 case AUTO_UPDATE_STATISTICS:
32905 case AUTO_SHRINK:
32906 case AUTO_CREATE_STATISTICS:
32907 case AUTO_CLOSE:
32908 enterOuterAlt(_localctx, 2);
32909 {
32910 setState(4635);
32911 autoOption();
32912 }
32913 break;
32914 case AUTOMATIC_TUNING:
32915 enterOuterAlt(_localctx, 3);
32916 {
32917 setState(4636);
32918 automaticTuningOption();
32919 }
32920 break;
32921 case CHANGE_TRACKING:
32922 enterOuterAlt(_localctx, 4);
32923 {
32924 setState(4637);
32925 changeTrackingOption();
32926 }
32927 break;
32928 case CONTAINMENT:
32929 enterOuterAlt(_localctx, 5);
32930 {
32931 setState(4638);
32932 match(CONTAINMENT);
32933 setState(4639);
32934 match(EQ_);
32935 setState(4640);
32936 _la = _input.LA(1);
32937 if ( !(_la==NONE || _la==PARTIAL) ) {
32938 _errHandler.recoverInline(this);
32939 }
32940 else {
32941 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32942 _errHandler.reportMatch(this);
32943 consume();
32944 }
32945 }
32946 break;
32947 case CURSOR_DEFAULT:
32948 case CURSOR_CLOSE_ON_COMMIT:
32949 enterOuterAlt(_localctx, 6);
32950 {
32951 setState(4641);
32952 cursorOption();
32953 }
32954 break;
32955 case DATE_CORRELATION_OPTIMIZATION:
32956 enterOuterAlt(_localctx, 7);
32957 {
32958 setState(4642);
32959 match(DATE_CORRELATION_OPTIMIZATION);
32960 setState(4643);
32961 _la = _input.LA(1);
32962 if ( !(_la==ON || _la==OFF) ) {
32963 _errHandler.recoverInline(this);
32964 }
32965 else {
32966 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32967 _errHandler.reportMatch(this);
32968 consume();
32969 }
32970 }
32971 break;
32972 case ENCRYPTION:
32973 enterOuterAlt(_localctx, 8);
32974 {
32975 setState(4644);
32976 match(ENCRYPTION);
32977 setState(4645);
32978 _la = _input.LA(1);
32979 if ( !(_la==ON || _la==OFF || _la==RESUME || _la==SUSPEND) ) {
32980 _errHandler.recoverInline(this);
32981 }
32982 else {
32983 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32984 _errHandler.reportMatch(this);
32985 consume();
32986 }
32987 }
32988 break;
32989 case ONLINE:
32990 case OFFLINE:
32991 case EMERGENCY:
32992 enterOuterAlt(_localctx, 9);
32993 {
32994 setState(4646);
32995 _la = _input.LA(1);
32996 if ( !(_la==ONLINE || _la==OFFLINE || _la==EMERGENCY) ) {
32997 _errHandler.recoverInline(this);
32998 }
32999 else {
33000 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33001 _errHandler.reportMatch(this);
33002 consume();
33003 }
33004 }
33005 break;
33006 case READ_ONLY:
33007 case READ_WRITE:
33008 enterOuterAlt(_localctx, 10);
33009 {
33010 setState(4647);
33011 _la = _input.LA(1);
33012 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
33013 _errHandler.recoverInline(this);
33014 }
33015 else {
33016 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33017 _errHandler.reportMatch(this);
33018 consume();
33019 }
33020 }
33021 break;
33022 case MULTI_USER:
33023 case RESTRICTED_USER:
33024 case SINGLE_USER:
33025 enterOuterAlt(_localctx, 11);
33026 {
33027 setState(4648);
33028 _la = _input.LA(1);
33029 if ( !(((((_la - 639)) & ~0x3f) == 0 && ((1L << (_la - 639)) & ((1L << (MULTI_USER - 639)) | (1L << (RESTRICTED_USER - 639)) | (1L << (SINGLE_USER - 639)))) != 0)) ) {
33030 _errHandler.recoverInline(this);
33031 }
33032 else {
33033 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33034 _errHandler.reportMatch(this);
33035 consume();
33036 }
33037 }
33038 break;
33039 case DELAYED_DURABILITY:
33040 enterOuterAlt(_localctx, 12);
33041 {
33042 setState(4649);
33043 match(DELAYED_DURABILITY);
33044 setState(4650);
33045 match(EQ_);
33046 setState(4651);
33047 _la = _input.LA(1);
33048 if ( !(_la==FORCED || _la==DISABLED || _la==ALLOWED) ) {
33049 _errHandler.recoverInline(this);
33050 }
33051 else {
33052 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33053 _errHandler.reportMatch(this);
33054 consume();
33055 }
33056 }
33057 break;
33058 case DB_CHAINING:
33059 case TRUSTWORTHY:
33060 case DEFAULT_FULLTEXT_LANGUAGE:
33061 case DEFAULT_LANGUAGE:
33062 case NESTED_TRIGGERS:
33063 case TRANSFORM_NOISE_WORDS:
33064 case TWO_DIGIT_YEAR_CUTOFF:
33065 enterOuterAlt(_localctx, 13);
33066 {
33067 setState(4652);
33068 externalAccessOption();
33069 }
33070 break;
33071 case FILESTREAM:
33072 enterOuterAlt(_localctx, 14);
33073 {
33074 setState(4653);
33075 match(FILESTREAM);
33076 setState(4654);
33077 match(LP_);
33078 setState(4655);
33079 fileStreamOption();
33080 setState(4656);
33081 match(RP_);
33082 }
33083 break;
33084 case ALTER:
33085 enterOuterAlt(_localctx, 15);
33086 {
33087 setState(4658);
33088 match(ALTER);
33089 setState(4659);
33090 match(DATABASE);
33091 setState(4660);
33092 match(SET);
33093 setState(4661);
33094 match(HADR);
33095 }
33096 break;
33097 case MIXED_PAGE_ALLOCATION:
33098 enterOuterAlt(_localctx, 16);
33099 {
33100 setState(4662);
33101 match(MIXED_PAGE_ALLOCATION);
33102 setState(4663);
33103 _la = _input.LA(1);
33104 if ( !(_la==ON || _la==OFF) ) {
33105 _errHandler.recoverInline(this);
33106 }
33107 else {
33108 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33109 _errHandler.reportMatch(this);
33110 consume();
33111 }
33112 }
33113 break;
33114 case PARAMETERIZATION:
33115 enterOuterAlt(_localctx, 17);
33116 {
33117 setState(4664);
33118 match(PARAMETERIZATION);
33119 setState(4665);
33120 _la = _input.LA(1);
33121 if ( !(_la==SIMPLE || _la==FORCED) ) {
33122 _errHandler.recoverInline(this);
33123 }
33124 else {
33125 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33126 _errHandler.reportMatch(this);
33127 consume();
33128 }
33129 }
33130 break;
33131 case QUERY_STORE:
33132 enterOuterAlt(_localctx, 18);
33133 {
33134 setState(4666);
33135 queryStoreOptions();
33136 }
33137 break;
33138 case PAGE_VERIFY:
33139 case TORN_PAGE_DETECTION:
33140 case RECOVERY:
33141 enterOuterAlt(_localctx, 19);
33142 {
33143 setState(4667);
33144 recoveryOption();
33145 }
33146 break;
33147 case HONOR_BROKER_PRIORITY:
33148 case ERROR_BROKER_CONVERSATIONS:
33149 case NEW_BROKER:
33150 case DISABLE_BROKER:
33151 case ENABLE_BROKER:
33152 enterOuterAlt(_localctx, 20);
33153 {
33154 setState(4668);
33155 serviceBrokerOption();
33156 }
33157 break;
33158 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
33159 case READ_COMMITTED_SNAPSHOT:
33160 case ALLOW_SNAPSHOT_ISOLATION:
33161 enterOuterAlt(_localctx, 21);
33162 {
33163 setState(4669);
33164 snapshotOption();
33165 }
33166 break;
33167 case RECURSIVE_TRIGGERS:
33168 case QUOTED_IDENTIFIER:
33169 case NUMERIC_ROUNDABORT:
33170 case CONCAT_NULL_YIELDS_NULL:
33171 case COMPATIBILITY_LEVEL:
33172 case ARITHABORT:
33173 case ANSI_WARNINGS:
33174 case ANSI_PADDING:
33175 case ANSI_NULLS:
33176 case ANSI_NULL_DEFAULT:
33177 enterOuterAlt(_localctx, 22);
33178 {
33179 setState(4670);
33180 sqlOption();
33181 }
33182 break;
33183 case TARGET_RECOVERY_TIME:
33184 enterOuterAlt(_localctx, 23);
33185 {
33186 setState(4671);
33187 targetRecoveryTimeOption();
33188 }
33189 break;
33190 case ROLLBACK:
33191 case NO_WAIT:
33192 enterOuterAlt(_localctx, 24);
33193 {
33194 setState(4672);
33195 termination();
33196 }
33197 break;
33198 case TEMPORAL_HISTORY_RETENTION:
33199 enterOuterAlt(_localctx, 25);
33200 {
33201 setState(4673);
33202 match(TEMPORAL_HISTORY_RETENTION);
33203 setState(4674);
33204 _la = _input.LA(1);
33205 if ( !(_la==ON || _la==OFF) ) {
33206 _errHandler.recoverInline(this);
33207 }
33208 else {
33209 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33210 _errHandler.reportMatch(this);
33211 consume();
33212 }
33213 }
33214 break;
33215 case DATA_RETENTION:
33216 enterOuterAlt(_localctx, 26);
33217 {
33218 setState(4675);
33219 match(DATA_RETENTION);
33220 setState(4676);
33221 _la = _input.LA(1);
33222 if ( !(_la==ON || _la==OFF) ) {
33223 _errHandler.recoverInline(this);
33224 }
33225 else {
33226 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33227 _errHandler.reportMatch(this);
33228 consume();
33229 }
33230 }
33231 break;
33232 default:
33233 throw new NoViableAltException(this);
33234 }
33235 }
33236 catch (RecognitionException re) {
33237 _localctx.exception = re;
33238 _errHandler.reportError(this, re);
33239 _errHandler.recover(this, re);
33240 }
33241 finally {
33242 exitRule();
33243 }
33244 return _localctx;
33245 }
33246
33247 public static class FileAndFilegroupOptionsContext extends ParserRuleContext {
33248 public AddOrModifyFilesContext addOrModifyFiles() {
33249 return getRuleContext(AddOrModifyFilesContext.class,0);
33250 }
33251 public FileSpecContext fileSpec() {
33252 return getRuleContext(FileSpecContext.class,0);
33253 }
33254 public AddOrModifyFilegroupsContext addOrModifyFilegroups() {
33255 return getRuleContext(AddOrModifyFilegroupsContext.class,0);
33256 }
33257 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
33258 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
33259 }
33260 public FileAndFilegroupOptionsContext(ParserRuleContext parent, int invokingState) {
33261 super(parent, invokingState);
33262 }
33263 @Override public int getRuleIndex() { return RULE_fileAndFilegroupOptions; }
33264 @Override
33265 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33266 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileAndFilegroupOptions(this);
33267 else return visitor.visitChildren(this);
33268 }
33269 }
33270
33271 public final FileAndFilegroupOptionsContext fileAndFilegroupOptions() throws RecognitionException {
33272 FileAndFilegroupOptionsContext _localctx = new FileAndFilegroupOptionsContext(_ctx, getState());
33273 enterRule(_localctx, 640, RULE_fileAndFilegroupOptions);
33274 try {
33275 setState(4683);
33276 _errHandler.sync(this);
33277 switch ( getInterpreter().adaptivePredict(_input,503,_ctx) ) {
33278 case 1:
33279 enterOuterAlt(_localctx, 1);
33280 {
33281 setState(4679);
33282 addOrModifyFiles();
33283 }
33284 break;
33285 case 2:
33286 enterOuterAlt(_localctx, 2);
33287 {
33288 setState(4680);
33289 fileSpec();
33290 }
33291 break;
33292 case 3:
33293 enterOuterAlt(_localctx, 3);
33294 {
33295 setState(4681);
33296 addOrModifyFilegroups();
33297 }
33298 break;
33299 case 4:
33300 enterOuterAlt(_localctx, 4);
33301 {
33302 setState(4682);
33303 filegroupUpdatabilityOption();
33304 }
33305 break;
33306 }
33307 }
33308 catch (RecognitionException re) {
33309 _localctx.exception = re;
33310 _errHandler.reportError(this, re);
33311 _errHandler.recover(this, re);
33312 }
33313 finally {
33314 exitRule();
33315 }
33316 return _localctx;
33317 }
33318
33319 public static class AddOrModifyFilegroupsContext extends ParserRuleContext {
33320 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
33321 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
33322 public IgnoredIdentifierContext ignoredIdentifier() {
33323 return getRuleContext(IgnoredIdentifierContext.class,0);
33324 }
33325 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
33326 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
33327 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
33328 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
33329 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
33330 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
33331 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
33332 }
33333 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
33334 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
33335 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33336 public TerminalNode AUTOGROW_SINGLE_FILE() { return getToken(SQLServerStatementParser.AUTOGROW_SINGLE_FILE, 0); }
33337 public TerminalNode AUTOGROW_ALL_FILES() { return getToken(SQLServerStatementParser.AUTOGROW_ALL_FILES, 0); }
33338 public AddOrModifyFilegroupsContext(ParserRuleContext parent, int invokingState) {
33339 super(parent, invokingState);
33340 }
33341 @Override public int getRuleIndex() { return RULE_addOrModifyFilegroups; }
33342 @Override
33343 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33344 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFilegroups(this);
33345 else return visitor.visitChildren(this);
33346 }
33347 }
33348
33349 public final AddOrModifyFilegroupsContext addOrModifyFilegroups() throws RecognitionException {
33350 AddOrModifyFilegroupsContext _localctx = new AddOrModifyFilegroupsContext(_ctx, getState());
33351 enterRule(_localctx, 642, RULE_addOrModifyFilegroups);
33352 int _la;
33353 try {
33354 setState(4707);
33355 _errHandler.sync(this);
33356 switch (_input.LA(1)) {
33357 case ADD:
33358 enterOuterAlt(_localctx, 1);
33359 {
33360 setState(4685);
33361 match(ADD);
33362 setState(4686);
33363 match(FILEGROUP);
33364 setState(4687);
33365 ignoredIdentifier();
33366 setState(4692);
33367 _errHandler.sync(this);
33368 switch ( getInterpreter().adaptivePredict(_input,504,_ctx) ) {
33369 case 1:
33370 {
33371 setState(4688);
33372 match(CONTAINS);
33373 setState(4689);
33374 match(FILESTREAM);
33375 }
33376 break;
33377 case 2:
33378 {
33379 setState(4690);
33380 match(CONTAINS);
33381 setState(4691);
33382 match(MEMORY_OPTIMIZED_DATA);
33383 }
33384 break;
33385 }
33386 }
33387 break;
33388 case REMOVE:
33389 enterOuterAlt(_localctx, 2);
33390 {
33391 setState(4694);
33392 match(REMOVE);
33393 setState(4695);
33394 match(FILEGROUP);
33395 setState(4696);
33396 ignoredIdentifier();
33397 }
33398 break;
33399 case MODIFY:
33400 enterOuterAlt(_localctx, 3);
33401 {
33402 setState(4697);
33403 match(MODIFY);
33404 setState(4698);
33405 match(FILEGROUP);
33406 setState(4699);
33407 ignoredIdentifier();
33408 setState(4700);
33409 filegroupUpdatabilityOption();
33410 }
33411 break;
33412 case DEFAULT:
33413 enterOuterAlt(_localctx, 4);
33414 {
33415 setState(4702);
33416 match(DEFAULT);
33417 }
33418 break;
33419 case NAME:
33420 enterOuterAlt(_localctx, 5);
33421 {
33422 setState(4703);
33423 match(NAME);
33424 setState(4704);
33425 match(EQ_);
33426 setState(4705);
33427 ignoredIdentifier();
33428 }
33429 break;
33430 case AUTOGROW_SINGLE_FILE:
33431 case AUTOGROW_ALL_FILES:
33432 enterOuterAlt(_localctx, 6);
33433 {
33434 setState(4706);
33435 _la = _input.LA(1);
33436 if ( !(_la==AUTOGROW_SINGLE_FILE || _la==AUTOGROW_ALL_FILES) ) {
33437 _errHandler.recoverInline(this);
33438 }
33439 else {
33440 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33441 _errHandler.reportMatch(this);
33442 consume();
33443 }
33444 }
33445 break;
33446 default:
33447 throw new NoViableAltException(this);
33448 }
33449 }
33450 catch (RecognitionException re) {
33451 _localctx.exception = re;
33452 _errHandler.reportError(this, re);
33453 _errHandler.recover(this, re);
33454 }
33455 finally {
33456 exitRule();
33457 }
33458 return _localctx;
33459 }
33460
33461 public static class FilegroupUpdatabilityOptionContext extends ParserRuleContext {
33462 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
33463 public TerminalNode READWRITE() { return getToken(SQLServerStatementParser.READWRITE, 0); }
33464 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
33465 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
33466 public FilegroupUpdatabilityOptionContext(ParserRuleContext parent, int invokingState) {
33467 super(parent, invokingState);
33468 }
33469 @Override public int getRuleIndex() { return RULE_filegroupUpdatabilityOption; }
33470 @Override
33471 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33472 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilegroupUpdatabilityOption(this);
33473 else return visitor.visitChildren(this);
33474 }
33475 }
33476
33477 public final FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() throws RecognitionException {
33478 FilegroupUpdatabilityOptionContext _localctx = new FilegroupUpdatabilityOptionContext(_ctx, getState());
33479 enterRule(_localctx, 644, RULE_filegroupUpdatabilityOption);
33480 int _la;
33481 try {
33482 setState(4711);
33483 _errHandler.sync(this);
33484 switch (_input.LA(1)) {
33485 case READONLY:
33486 case READWRITE:
33487 enterOuterAlt(_localctx, 1);
33488 {
33489 setState(4709);
33490 _la = _input.LA(1);
33491 if ( !(_la==READONLY || _la==READWRITE) ) {
33492 _errHandler.recoverInline(this);
33493 }
33494 else {
33495 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33496 _errHandler.reportMatch(this);
33497 consume();
33498 }
33499 }
33500 break;
33501 case READ_ONLY:
33502 case READ_WRITE:
33503 enterOuterAlt(_localctx, 2);
33504 {
33505 setState(4710);
33506 _la = _input.LA(1);
33507 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
33508 _errHandler.recoverInline(this);
33509 }
33510 else {
33511 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33512 _errHandler.reportMatch(this);
33513 consume();
33514 }
33515 }
33516 break;
33517 default:
33518 throw new NoViableAltException(this);
33519 }
33520 }
33521 catch (RecognitionException re) {
33522 _localctx.exception = re;
33523 _errHandler.reportError(this, re);
33524 _errHandler.recover(this, re);
33525 }
33526 finally {
33527 exitRule();
33528 }
33529 return _localctx;
33530 }
33531
33532 public static class AddOrModifyFilesContext extends ParserRuleContext {
33533 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
33534 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
33535 public List<FileSpecContext> fileSpec() {
33536 return getRuleContexts(FileSpecContext.class);
33537 }
33538 public FileSpecContext fileSpec(int i) {
33539 return getRuleContext(FileSpecContext.class,i);
33540 }
33541 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33542 public TerminalNode COMMA_(int i) {
33543 return getToken(SQLServerStatementParser.COMMA_, i);
33544 }
33545 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
33546 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
33547 public IgnoredIdentifierContext ignoredIdentifier() {
33548 return getRuleContext(IgnoredIdentifierContext.class,0);
33549 }
33550 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
33551 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
33552 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
33553 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
33554 public AddOrModifyFilesContext(ParserRuleContext parent, int invokingState) {
33555 super(parent, invokingState);
33556 }
33557 @Override public int getRuleIndex() { return RULE_addOrModifyFiles; }
33558 @Override
33559 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33560 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFiles(this);
33561 else return visitor.visitChildren(this);
33562 }
33563 }
33564
33565 public final AddOrModifyFilesContext addOrModifyFiles() throws RecognitionException {
33566 AddOrModifyFilesContext _localctx = new AddOrModifyFilesContext(_ctx, getState());
33567 enterRule(_localctx, 646, RULE_addOrModifyFiles);
33568 int _la;
33569 try {
33570 setState(4745);
33571 _errHandler.sync(this);
33572 switch ( getInterpreter().adaptivePredict(_input,510,_ctx) ) {
33573 case 1:
33574 enterOuterAlt(_localctx, 1);
33575 {
33576 setState(4713);
33577 match(ADD);
33578 setState(4714);
33579 match(FILE);
33580 setState(4715);
33581 fileSpec();
33582 setState(4720);
33583 _errHandler.sync(this);
33584 _la = _input.LA(1);
33585 while (_la==COMMA_) {
33586 {
33587 {
33588 setState(4716);
33589 match(COMMA_);
33590 setState(4717);
33591 fileSpec();
33592 }
33593 }
33594 setState(4722);
33595 _errHandler.sync(this);
33596 _la = _input.LA(1);
33597 }
33598 setState(4726);
33599 _errHandler.sync(this);
33600 _la = _input.LA(1);
33601 if (_la==TO) {
33602 {
33603 setState(4723);
33604 match(TO);
33605 setState(4724);
33606 match(FILEGROUP);
33607 setState(4725);
33608 ignoredIdentifier();
33609 }
33610 }
33611
33612 }
33613 break;
33614 case 2:
33615 enterOuterAlt(_localctx, 2);
33616 {
33617 setState(4728);
33618 match(ADD);
33619 setState(4729);
33620 match(LOG);
33621 setState(4730);
33622 match(FILE);
33623 setState(4731);
33624 fileSpec();
33625 setState(4736);
33626 _errHandler.sync(this);
33627 _la = _input.LA(1);
33628 while (_la==COMMA_) {
33629 {
33630 {
33631 setState(4732);
33632 match(COMMA_);
33633 setState(4733);
33634 fileSpec();
33635 }
33636 }
33637 setState(4738);
33638 _errHandler.sync(this);
33639 _la = _input.LA(1);
33640 }
33641 }
33642 break;
33643 case 3:
33644 enterOuterAlt(_localctx, 3);
33645 {
33646 setState(4739);
33647 match(REMOVE);
33648 setState(4740);
33649 match(FILE);
33650 setState(4741);
33651 match(STRING_);
33652 }
33653 break;
33654 case 4:
33655 enterOuterAlt(_localctx, 4);
33656 {
33657 setState(4742);
33658 match(MODIFY);
33659 setState(4743);
33660 match(FILE);
33661 setState(4744);
33662 fileSpec();
33663 }
33664 break;
33665 }
33666 }
33667 catch (RecognitionException re) {
33668 _localctx.exception = re;
33669 _errHandler.reportError(this, re);
33670 _errHandler.recover(this, re);
33671 }
33672 finally {
33673 exitRule();
33674 }
33675 return _localctx;
33676 }
33677
33678 public static class AcceleratedDatabaseRecoveryContext extends ParserRuleContext {
33679 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
33680 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
33681 public TerminalNode EQ_(int i) {
33682 return getToken(SQLServerStatementParser.EQ_, i);
33683 }
33684 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33685 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33686 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33687 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
33688 public IgnoredIdentifierContext ignoredIdentifier() {
33689 return getRuleContext(IgnoredIdentifierContext.class,0);
33690 }
33691 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33692 public AcceleratedDatabaseRecoveryContext(ParserRuleContext parent, int invokingState) {
33693 super(parent, invokingState);
33694 }
33695 @Override public int getRuleIndex() { return RULE_acceleratedDatabaseRecovery; }
33696 @Override
33697 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33698 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAcceleratedDatabaseRecovery(this);
33699 else return visitor.visitChildren(this);
33700 }
33701 }
33702
33703 public final AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() throws RecognitionException {
33704 AcceleratedDatabaseRecoveryContext _localctx = new AcceleratedDatabaseRecoveryContext(_ctx, getState());
33705 enterRule(_localctx, 648, RULE_acceleratedDatabaseRecovery);
33706 int _la;
33707 try {
33708 enterOuterAlt(_localctx, 1);
33709 {
33710 setState(4747);
33711 match(ACCELERATED_DATABASE_RECOVERY);
33712 setState(4748);
33713 match(EQ_);
33714 setState(4749);
33715 _la = _input.LA(1);
33716 if ( !(_la==ON || _la==OFF) ) {
33717 _errHandler.recoverInline(this);
33718 }
33719 else {
33720 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33721 _errHandler.reportMatch(this);
33722 consume();
33723 }
33724 setState(4756);
33725 _errHandler.sync(this);
33726 switch ( getInterpreter().adaptivePredict(_input,511,_ctx) ) {
33727 case 1:
33728 {
33729 setState(4750);
33730 match(LP_);
33731 setState(4751);
33732 match(PERSISTENT_VERSION_STORE_FILEGROUP);
33733 setState(4752);
33734 match(EQ_);
33735 setState(4753);
33736 ignoredIdentifier();
33737 setState(4754);
33738 match(RP_);
33739 }
33740 break;
33741 }
33742 }
33743 }
33744 catch (RecognitionException re) {
33745 _localctx.exception = re;
33746 _errHandler.reportError(this, re);
33747 _errHandler.recover(this, re);
33748 }
33749 finally {
33750 exitRule();
33751 }
33752 return _localctx;
33753 }
33754
33755 public static class AutoOptionContext extends ParserRuleContext {
33756 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
33757 public List<TerminalNode> ON() { return getTokens(SQLServerStatementParser.ON); }
33758 public TerminalNode ON(int i) {
33759 return getToken(SQLServerStatementParser.ON, i);
33760 }
33761 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33762 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
33763 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33764 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
33765 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33766 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33767 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
33768 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
33769 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
33770 public AutoOptionContext(ParserRuleContext parent, int invokingState) {
33771 super(parent, invokingState);
33772 }
33773 @Override public int getRuleIndex() { return RULE_autoOption; }
33774 @Override
33775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutoOption(this);
33777 else return visitor.visitChildren(this);
33778 }
33779 }
33780
33781 public final AutoOptionContext autoOption() throws RecognitionException {
33782 AutoOptionContext _localctx = new AutoOptionContext(_ctx, getState());
33783 enterRule(_localctx, 650, RULE_autoOption);
33784 int _la;
33785 try {
33786 setState(4778);
33787 _errHandler.sync(this);
33788 switch (_input.LA(1)) {
33789 case AUTO_CLOSE:
33790 enterOuterAlt(_localctx, 1);
33791 {
33792 setState(4758);
33793 match(AUTO_CLOSE);
33794 setState(4759);
33795 _la = _input.LA(1);
33796 if ( !(_la==ON || _la==OFF) ) {
33797 _errHandler.recoverInline(this);
33798 }
33799 else {
33800 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33801 _errHandler.reportMatch(this);
33802 consume();
33803 }
33804 }
33805 break;
33806 case AUTO_CREATE_STATISTICS:
33807 enterOuterAlt(_localctx, 2);
33808 {
33809 setState(4760);
33810 match(AUTO_CREATE_STATISTICS);
33811 setState(4770);
33812 _errHandler.sync(this);
33813 switch (_input.LA(1)) {
33814 case OFF:
33815 {
33816 setState(4761);
33817 match(OFF);
33818 }
33819 break;
33820 case ON:
33821 {
33822 setState(4762);
33823 match(ON);
33824 setState(4768);
33825 _errHandler.sync(this);
33826 switch ( getInterpreter().adaptivePredict(_input,512,_ctx) ) {
33827 case 1:
33828 {
33829 setState(4763);
33830 match(LP_);
33831 setState(4764);
33832 match(INCREMENTAL);
33833 setState(4765);
33834 match(EQ_);
33835 setState(4766);
33836 _la = _input.LA(1);
33837 if ( !(_la==ON || _la==OFF) ) {
33838 _errHandler.recoverInline(this);
33839 }
33840 else {
33841 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33842 _errHandler.reportMatch(this);
33843 consume();
33844 }
33845 setState(4767);
33846 match(RP_);
33847 }
33848 break;
33849 }
33850 }
33851 break;
33852 default:
33853 throw new NoViableAltException(this);
33854 }
33855 }
33856 break;
33857 case AUTO_SHRINK:
33858 enterOuterAlt(_localctx, 3);
33859 {
33860 setState(4772);
33861 match(AUTO_SHRINK);
33862 setState(4773);
33863 _la = _input.LA(1);
33864 if ( !(_la==ON || _la==OFF) ) {
33865 _errHandler.recoverInline(this);
33866 }
33867 else {
33868 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33869 _errHandler.reportMatch(this);
33870 consume();
33871 }
33872 }
33873 break;
33874 case AUTO_UPDATE_STATISTICS:
33875 enterOuterAlt(_localctx, 4);
33876 {
33877 setState(4774);
33878 match(AUTO_UPDATE_STATISTICS);
33879 setState(4775);
33880 _la = _input.LA(1);
33881 if ( !(_la==ON || _la==OFF) ) {
33882 _errHandler.recoverInline(this);
33883 }
33884 else {
33885 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33886 _errHandler.reportMatch(this);
33887 consume();
33888 }
33889 }
33890 break;
33891 case AUTO_UPDATE_STATISTICS_ASYNC:
33892 enterOuterAlt(_localctx, 5);
33893 {
33894 setState(4776);
33895 match(AUTO_UPDATE_STATISTICS_ASYNC);
33896 setState(4777);
33897 _la = _input.LA(1);
33898 if ( !(_la==ON || _la==OFF) ) {
33899 _errHandler.recoverInline(this);
33900 }
33901 else {
33902 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33903 _errHandler.reportMatch(this);
33904 consume();
33905 }
33906 }
33907 break;
33908 default:
33909 throw new NoViableAltException(this);
33910 }
33911 }
33912 catch (RecognitionException re) {
33913 _localctx.exception = re;
33914 _errHandler.reportError(this, re);
33915 _errHandler.recover(this, re);
33916 }
33917 finally {
33918 exitRule();
33919 }
33920 return _localctx;
33921 }
33922
33923 public static class AutomaticTuningOptionContext extends ParserRuleContext {
33924 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
33925 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33926 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
33927 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33928 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33929 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33930 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33931 public AutomaticTuningOptionContext(ParserRuleContext parent, int invokingState) {
33932 super(parent, invokingState);
33933 }
33934 @Override public int getRuleIndex() { return RULE_automaticTuningOption; }
33935 @Override
33936 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33937 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutomaticTuningOption(this);
33938 else return visitor.visitChildren(this);
33939 }
33940 }
33941
33942 public final AutomaticTuningOptionContext automaticTuningOption() throws RecognitionException {
33943 AutomaticTuningOptionContext _localctx = new AutomaticTuningOptionContext(_ctx, getState());
33944 enterRule(_localctx, 652, RULE_automaticTuningOption);
33945 int _la;
33946 try {
33947 enterOuterAlt(_localctx, 1);
33948 {
33949 setState(4780);
33950 match(AUTOMATIC_TUNING);
33951 setState(4781);
33952 match(LP_);
33953 setState(4782);
33954 match(FORCE_LAST_GOOD_PLAN);
33955 setState(4783);
33956 match(EQ_);
33957 setState(4784);
33958 _la = _input.LA(1);
33959 if ( !(_la==ON || _la==OFF) ) {
33960 _errHandler.recoverInline(this);
33961 }
33962 else {
33963 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33964 _errHandler.reportMatch(this);
33965 consume();
33966 }
33967 setState(4785);
33968 match(RP_);
33969 }
33970 }
33971 catch (RecognitionException re) {
33972 _localctx.exception = re;
33973 _errHandler.reportError(this, re);
33974 _errHandler.recover(this, re);
33975 }
33976 finally {
33977 exitRule();
33978 }
33979 return _localctx;
33980 }
33981
33982 public static class ChangeTrackingOptionContext extends ParserRuleContext {
33983 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
33984 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33985 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33986 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33987 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33988 public List<ChangeTrackingOptionListContext> changeTrackingOptionList() {
33989 return getRuleContexts(ChangeTrackingOptionListContext.class);
33990 }
33991 public ChangeTrackingOptionListContext changeTrackingOptionList(int i) {
33992 return getRuleContext(ChangeTrackingOptionListContext.class,i);
33993 }
33994 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33995 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33996 public TerminalNode COMMA_(int i) {
33997 return getToken(SQLServerStatementParser.COMMA_, i);
33998 }
33999 public ChangeTrackingOptionContext(ParserRuleContext parent, int invokingState) {
34000 super(parent, invokingState);
34001 }
34002 @Override public int getRuleIndex() { return RULE_changeTrackingOption; }
34003 @Override
34004 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34005 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOption(this);
34006 else return visitor.visitChildren(this);
34007 }
34008 }
34009
34010 public final ChangeTrackingOptionContext changeTrackingOption() throws RecognitionException {
34011 ChangeTrackingOptionContext _localctx = new ChangeTrackingOptionContext(_ctx, getState());
34012 enterRule(_localctx, 654, RULE_changeTrackingOption);
34013 int _la;
34014 try {
34015 enterOuterAlt(_localctx, 1);
34016 {
34017 setState(4787);
34018 match(CHANGE_TRACKING);
34019 setState(4807);
34020 _errHandler.sync(this);
34021 switch ( getInterpreter().adaptivePredict(_input,518,_ctx) ) {
34022 case 1:
34023 {
34024 setState(4788);
34025 match(EQ_);
34026 setState(4789);
34027 match(OFF);
34028 }
34029 break;
34030 case 2:
34031 {
34032 setState(4792);
34033 _errHandler.sync(this);
34034 _la = _input.LA(1);
34035 if (_la==EQ_) {
34036 {
34037 setState(4790);
34038 match(EQ_);
34039 setState(4791);
34040 match(ON);
34041 }
34042 }
34043
34044 setState(4805);
34045 _errHandler.sync(this);
34046 switch ( getInterpreter().adaptivePredict(_input,517,_ctx) ) {
34047 case 1:
34048 {
34049 setState(4794);
34050 match(LP_);
34051 setState(4795);
34052 changeTrackingOptionList();
34053 setState(4800);
34054 _errHandler.sync(this);
34055 _la = _input.LA(1);
34056 while (_la==COMMA_) {
34057 {
34058 {
34059 setState(4796);
34060 match(COMMA_);
34061 setState(4797);
34062 changeTrackingOptionList();
34063 }
34064 }
34065 setState(4802);
34066 _errHandler.sync(this);
34067 _la = _input.LA(1);
34068 }
34069 setState(4803);
34070 match(RP_);
34071 }
34072 break;
34073 }
34074 }
34075 break;
34076 }
34077 }
34078 }
34079 catch (RecognitionException re) {
34080 _localctx.exception = re;
34081 _errHandler.reportError(this, re);
34082 _errHandler.recover(this, re);
34083 }
34084 finally {
34085 exitRule();
34086 }
34087 return _localctx;
34088 }
34089
34090 public static class ChangeTrackingOptionListContext extends ParserRuleContext {
34091 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
34092 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34093 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34094 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34095 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
34096 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34097 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
34098 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
34099 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
34100 public ChangeTrackingOptionListContext(ParserRuleContext parent, int invokingState) {
34101 super(parent, invokingState);
34102 }
34103 @Override public int getRuleIndex() { return RULE_changeTrackingOptionList; }
34104 @Override
34105 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34106 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOptionList(this);
34107 else return visitor.visitChildren(this);
34108 }
34109 }
34110
34111 public final ChangeTrackingOptionListContext changeTrackingOptionList() throws RecognitionException {
34112 ChangeTrackingOptionListContext _localctx = new ChangeTrackingOptionListContext(_ctx, getState());
34113 enterRule(_localctx, 656, RULE_changeTrackingOptionList);
34114 int _la;
34115 try {
34116 setState(4816);
34117 _errHandler.sync(this);
34118 switch (_input.LA(1)) {
34119 case AUTO_CLEANUP:
34120 enterOuterAlt(_localctx, 1);
34121 {
34122 setState(4809);
34123 match(AUTO_CLEANUP);
34124 setState(4810);
34125 match(EQ_);
34126 setState(4811);
34127 _la = _input.LA(1);
34128 if ( !(_la==ON || _la==OFF) ) {
34129 _errHandler.recoverInline(this);
34130 }
34131 else {
34132 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34133 _errHandler.reportMatch(this);
34134 consume();
34135 }
34136 }
34137 break;
34138 case CHANGE_RETENTION:
34139 enterOuterAlt(_localctx, 2);
34140 {
34141 setState(4812);
34142 match(CHANGE_RETENTION);
34143 setState(4813);
34144 match(EQ_);
34145 setState(4814);
34146 match(NUMBER_);
34147 setState(4815);
34148 _la = _input.LA(1);
34149 if ( !(_la==DAYS || _la==MINUTES || _la==HOURS) ) {
34150 _errHandler.recoverInline(this);
34151 }
34152 else {
34153 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34154 _errHandler.reportMatch(this);
34155 consume();
34156 }
34157 }
34158 break;
34159 default:
34160 throw new NoViableAltException(this);
34161 }
34162 }
34163 catch (RecognitionException re) {
34164 _localctx.exception = re;
34165 _errHandler.reportError(this, re);
34166 _errHandler.recover(this, re);
34167 }
34168 finally {
34169 exitRule();
34170 }
34171 return _localctx;
34172 }
34173
34174 public static class CursorOptionContext extends ParserRuleContext {
34175 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
34176 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34177 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34178 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
34179 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
34180 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
34181 public CursorOptionContext(ParserRuleContext parent, int invokingState) {
34182 super(parent, invokingState);
34183 }
34184 @Override public int getRuleIndex() { return RULE_cursorOption; }
34185 @Override
34186 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34187 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorOption(this);
34188 else return visitor.visitChildren(this);
34189 }
34190 }
34191
34192 public final CursorOptionContext cursorOption() throws RecognitionException {
34193 CursorOptionContext _localctx = new CursorOptionContext(_ctx, getState());
34194 enterRule(_localctx, 658, RULE_cursorOption);
34195 int _la;
34196 try {
34197 setState(4822);
34198 _errHandler.sync(this);
34199 switch (_input.LA(1)) {
34200 case CURSOR_CLOSE_ON_COMMIT:
34201 enterOuterAlt(_localctx, 1);
34202 {
34203 setState(4818);
34204 match(CURSOR_CLOSE_ON_COMMIT);
34205 setState(4819);
34206 _la = _input.LA(1);
34207 if ( !(_la==ON || _la==OFF) ) {
34208 _errHandler.recoverInline(this);
34209 }
34210 else {
34211 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34212 _errHandler.reportMatch(this);
34213 consume();
34214 }
34215 }
34216 break;
34217 case CURSOR_DEFAULT:
34218 enterOuterAlt(_localctx, 2);
34219 {
34220 setState(4820);
34221 match(CURSOR_DEFAULT);
34222 setState(4821);
34223 _la = _input.LA(1);
34224 if ( !(_la==LOCAL || _la==GLOBAL) ) {
34225 _errHandler.recoverInline(this);
34226 }
34227 else {
34228 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34229 _errHandler.reportMatch(this);
34230 consume();
34231 }
34232 }
34233 break;
34234 default:
34235 throw new NoViableAltException(this);
34236 }
34237 }
34238 catch (RecognitionException re) {
34239 _localctx.exception = re;
34240 _errHandler.reportError(this, re);
34241 _errHandler.recover(this, re);
34242 }
34243 finally {
34244 exitRule();
34245 }
34246 return _localctx;
34247 }
34248
34249 public static class ExternalAccessOptionContext extends ParserRuleContext {
34250 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
34251 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34252 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34253 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
34254 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
34255 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34256 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
34257 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
34258 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
34259 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
34260 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
34261 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34262 public ExternalAccessOptionContext(ParserRuleContext parent, int invokingState) {
34263 super(parent, invokingState);
34264 }
34265 @Override public int getRuleIndex() { return RULE_externalAccessOption; }
34266 @Override
34267 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34268 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExternalAccessOption(this);
34269 else return visitor.visitChildren(this);
34270 }
34271 }
34272
34273 public final ExternalAccessOptionContext externalAccessOption() throws RecognitionException {
34274 ExternalAccessOptionContext _localctx = new ExternalAccessOptionContext(_ctx, getState());
34275 enterRule(_localctx, 660, RULE_externalAccessOption);
34276 int _la;
34277 try {
34278 setState(4843);
34279 _errHandler.sync(this);
34280 switch (_input.LA(1)) {
34281 case DB_CHAINING:
34282 enterOuterAlt(_localctx, 1);
34283 {
34284 setState(4824);
34285 match(DB_CHAINING);
34286 setState(4825);
34287 _la = _input.LA(1);
34288 if ( !(_la==ON || _la==OFF) ) {
34289 _errHandler.recoverInline(this);
34290 }
34291 else {
34292 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34293 _errHandler.reportMatch(this);
34294 consume();
34295 }
34296 }
34297 break;
34298 case TRUSTWORTHY:
34299 enterOuterAlt(_localctx, 2);
34300 {
34301 setState(4826);
34302 match(TRUSTWORTHY);
34303 setState(4827);
34304 _la = _input.LA(1);
34305 if ( !(_la==ON || _la==OFF) ) {
34306 _errHandler.recoverInline(this);
34307 }
34308 else {
34309 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34310 _errHandler.reportMatch(this);
34311 consume();
34312 }
34313 }
34314 break;
34315 case DEFAULT_FULLTEXT_LANGUAGE:
34316 enterOuterAlt(_localctx, 3);
34317 {
34318 setState(4828);
34319 match(DEFAULT_FULLTEXT_LANGUAGE);
34320 setState(4829);
34321 match(EQ_);
34322 setState(4830);
34323 match(STRING_);
34324 }
34325 break;
34326 case DEFAULT_LANGUAGE:
34327 enterOuterAlt(_localctx, 4);
34328 {
34329 setState(4831);
34330 match(DEFAULT_LANGUAGE);
34331 setState(4832);
34332 match(EQ_);
34333 setState(4833);
34334 match(STRING_);
34335 }
34336 break;
34337 case NESTED_TRIGGERS:
34338 enterOuterAlt(_localctx, 5);
34339 {
34340 setState(4834);
34341 match(NESTED_TRIGGERS);
34342 setState(4835);
34343 match(EQ_);
34344 setState(4836);
34345 _la = _input.LA(1);
34346 if ( !(_la==ON || _la==OFF) ) {
34347 _errHandler.recoverInline(this);
34348 }
34349 else {
34350 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34351 _errHandler.reportMatch(this);
34352 consume();
34353 }
34354 }
34355 break;
34356 case TRANSFORM_NOISE_WORDS:
34357 enterOuterAlt(_localctx, 6);
34358 {
34359 setState(4837);
34360 match(TRANSFORM_NOISE_WORDS);
34361 setState(4838);
34362 match(EQ_);
34363 setState(4839);
34364 _la = _input.LA(1);
34365 if ( !(_la==ON || _la==OFF) ) {
34366 _errHandler.recoverInline(this);
34367 }
34368 else {
34369 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34370 _errHandler.reportMatch(this);
34371 consume();
34372 }
34373 }
34374 break;
34375 case TWO_DIGIT_YEAR_CUTOFF:
34376 enterOuterAlt(_localctx, 7);
34377 {
34378 setState(4840);
34379 match(TWO_DIGIT_YEAR_CUTOFF);
34380 setState(4841);
34381 match(EQ_);
34382 setState(4842);
34383 match(NUMBER_);
34384 }
34385 break;
34386 default:
34387 throw new NoViableAltException(this);
34388 }
34389 }
34390 catch (RecognitionException re) {
34391 _localctx.exception = re;
34392 _errHandler.reportError(this, re);
34393 _errHandler.recover(this, re);
34394 }
34395 finally {
34396 exitRule();
34397 }
34398 return _localctx;
34399 }
34400
34401 public static class QueryStoreOptionsContext extends ParserRuleContext {
34402 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
34403 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34404 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34405 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34406 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34407 public List<QueryStoreOptionListContext> queryStoreOptionList() {
34408 return getRuleContexts(QueryStoreOptionListContext.class);
34409 }
34410 public QueryStoreOptionListContext queryStoreOptionList(int i) {
34411 return getRuleContext(QueryStoreOptionListContext.class,i);
34412 }
34413 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34414 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34415 public TerminalNode COMMA_(int i) {
34416 return getToken(SQLServerStatementParser.COMMA_, i);
34417 }
34418 public QueryStoreOptionsContext(ParserRuleContext parent, int invokingState) {
34419 super(parent, invokingState);
34420 }
34421 @Override public int getRuleIndex() { return RULE_queryStoreOptions; }
34422 @Override
34423 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34424 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptions(this);
34425 else return visitor.visitChildren(this);
34426 }
34427 }
34428
34429 public final QueryStoreOptionsContext queryStoreOptions() throws RecognitionException {
34430 QueryStoreOptionsContext _localctx = new QueryStoreOptionsContext(_ctx, getState());
34431 enterRule(_localctx, 662, RULE_queryStoreOptions);
34432 int _la;
34433 try {
34434 enterOuterAlt(_localctx, 1);
34435 {
34436 setState(4845);
34437 match(QUERY_STORE);
34438 setState(4865);
34439 _errHandler.sync(this);
34440 switch ( getInterpreter().adaptivePredict(_input,525,_ctx) ) {
34441 case 1:
34442 {
34443 setState(4846);
34444 match(EQ_);
34445 setState(4847);
34446 match(OFF);
34447 }
34448 break;
34449 case 2:
34450 {
34451 setState(4850);
34452 _errHandler.sync(this);
34453 _la = _input.LA(1);
34454 if (_la==EQ_) {
34455 {
34456 setState(4848);
34457 match(EQ_);
34458 setState(4849);
34459 match(ON);
34460 }
34461 }
34462
34463 setState(4863);
34464 _errHandler.sync(this);
34465 switch ( getInterpreter().adaptivePredict(_input,524,_ctx) ) {
34466 case 1:
34467 {
34468 setState(4852);
34469 match(LP_);
34470 setState(4853);
34471 queryStoreOptionList();
34472 setState(4858);
34473 _errHandler.sync(this);
34474 _la = _input.LA(1);
34475 while (_la==COMMA_) {
34476 {
34477 {
34478 setState(4854);
34479 match(COMMA_);
34480 setState(4855);
34481 queryStoreOptionList();
34482 }
34483 }
34484 setState(4860);
34485 _errHandler.sync(this);
34486 _la = _input.LA(1);
34487 }
34488 setState(4861);
34489 match(RP_);
34490 }
34491 break;
34492 }
34493 }
34494 break;
34495 }
34496 }
34497 }
34498 catch (RecognitionException re) {
34499 _localctx.exception = re;
34500 _errHandler.reportError(this, re);
34501 _errHandler.recover(this, re);
34502 }
34503 finally {
34504 exitRule();
34505 }
34506 return _localctx;
34507 }
34508
34509 public static class QueryStoreOptionListContext extends ParserRuleContext {
34510 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
34511 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
34512 public TerminalNode EQ_(int i) {
34513 return getToken(SQLServerStatementParser.EQ_, i);
34514 }
34515 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
34516 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
34517 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
34518 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34519 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
34520 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34521 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34522 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
34523 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
34524 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
34525 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
34526 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
34527 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34528 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
34529 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
34530 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
34531 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
34532 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
34533 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
34534 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34535 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
34536 public List<QueryCapturePolicyOptionListContext> queryCapturePolicyOptionList() {
34537 return getRuleContexts(QueryCapturePolicyOptionListContext.class);
34538 }
34539 public QueryCapturePolicyOptionListContext queryCapturePolicyOptionList(int i) {
34540 return getRuleContext(QueryCapturePolicyOptionListContext.class,i);
34541 }
34542 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34543 public TerminalNode COMMA_(int i) {
34544 return getToken(SQLServerStatementParser.COMMA_, i);
34545 }
34546 public QueryStoreOptionListContext(ParserRuleContext parent, int invokingState) {
34547 super(parent, invokingState);
34548 }
34549 @Override public int getRuleIndex() { return RULE_queryStoreOptionList; }
34550 @Override
34551 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34552 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptionList(this);
34553 else return visitor.visitChildren(this);
34554 }
34555 }
34556
34557 public final QueryStoreOptionListContext queryStoreOptionList() throws RecognitionException {
34558 QueryStoreOptionListContext _localctx = new QueryStoreOptionListContext(_ctx, getState());
34559 enterRule(_localctx, 664, RULE_queryStoreOptionList);
34560 int _la;
34561 try {
34562 setState(4911);
34563 _errHandler.sync(this);
34564 switch (_input.LA(1)) {
34565 case OPERATION_MODE:
34566 enterOuterAlt(_localctx, 1);
34567 {
34568 setState(4867);
34569 match(OPERATION_MODE);
34570 setState(4868);
34571 match(EQ_);
34572 setState(4869);
34573 _la = _input.LA(1);
34574 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
34575 _errHandler.recoverInline(this);
34576 }
34577 else {
34578 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34579 _errHandler.reportMatch(this);
34580 consume();
34581 }
34582 }
34583 break;
34584 case CLEANUP_POLICY:
34585 enterOuterAlt(_localctx, 2);
34586 {
34587 setState(4870);
34588 match(CLEANUP_POLICY);
34589 setState(4871);
34590 match(EQ_);
34591 setState(4872);
34592 match(LP_);
34593 setState(4873);
34594 match(STALE_QUERY_THRESHOLD_DAYS);
34595 setState(4874);
34596 match(EQ_);
34597 setState(4875);
34598 match(NUMBER_);
34599 setState(4876);
34600 match(RP_);
34601 }
34602 break;
34603 case DATA_FLUSH_INTERVAL_SECONDS:
34604 enterOuterAlt(_localctx, 3);
34605 {
34606 setState(4877);
34607 match(DATA_FLUSH_INTERVAL_SECONDS);
34608 setState(4878);
34609 match(EQ_);
34610 setState(4879);
34611 match(NUMBER_);
34612 }
34613 break;
34614 case MAX_STORAGE_SIZE_MB:
34615 enterOuterAlt(_localctx, 4);
34616 {
34617 setState(4880);
34618 match(MAX_STORAGE_SIZE_MB);
34619 setState(4881);
34620 match(EQ_);
34621 setState(4882);
34622 match(NUMBER_);
34623 }
34624 break;
34625 case INTERVAL_LENGTH_MINUTES:
34626 enterOuterAlt(_localctx, 5);
34627 {
34628 setState(4883);
34629 match(INTERVAL_LENGTH_MINUTES);
34630 setState(4884);
34631 match(EQ_);
34632 setState(4885);
34633 match(NUMBER_);
34634 }
34635 break;
34636 case SIZE_BASED_CLEANUP_MODE:
34637 enterOuterAlt(_localctx, 6);
34638 {
34639 setState(4886);
34640 match(SIZE_BASED_CLEANUP_MODE);
34641 setState(4887);
34642 match(EQ_);
34643 setState(4888);
34644 _la = _input.LA(1);
34645 if ( !(_la==OFF || _la==AUTO) ) {
34646 _errHandler.recoverInline(this);
34647 }
34648 else {
34649 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34650 _errHandler.reportMatch(this);
34651 consume();
34652 }
34653 }
34654 break;
34655 case QUERY_CAPTURE_MODE:
34656 enterOuterAlt(_localctx, 7);
34657 {
34658 setState(4889);
34659 match(QUERY_CAPTURE_MODE);
34660 setState(4890);
34661 match(EQ_);
34662 setState(4891);
34663 _la = _input.LA(1);
34664 if ( !(_la==ALL || _la==AUTO || _la==NONE || _la==CUSTOM) ) {
34665 _errHandler.recoverInline(this);
34666 }
34667 else {
34668 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34669 _errHandler.reportMatch(this);
34670 consume();
34671 }
34672 }
34673 break;
34674 case MAX_PLANS_PER_QUERY:
34675 enterOuterAlt(_localctx, 8);
34676 {
34677 setState(4892);
34678 match(MAX_PLANS_PER_QUERY);
34679 setState(4893);
34680 match(EQ_);
34681 setState(4894);
34682 match(NUMBER_);
34683 }
34684 break;
34685 case WAIT_STATS_CAPTURE_MODE:
34686 enterOuterAlt(_localctx, 9);
34687 {
34688 setState(4895);
34689 match(WAIT_STATS_CAPTURE_MODE);
34690 setState(4896);
34691 match(EQ_);
34692 setState(4897);
34693 _la = _input.LA(1);
34694 if ( !(_la==ON || _la==OFF) ) {
34695 _errHandler.recoverInline(this);
34696 }
34697 else {
34698 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34699 _errHandler.reportMatch(this);
34700 consume();
34701 }
34702 }
34703 break;
34704 case QUERY_CAPTURE_POLICY:
34705 enterOuterAlt(_localctx, 10);
34706 {
34707 setState(4898);
34708 match(QUERY_CAPTURE_POLICY);
34709 setState(4899);
34710 match(EQ_);
34711 setState(4900);
34712 match(LP_);
34713 setState(4901);
34714 queryCapturePolicyOptionList();
34715 setState(4906);
34716 _errHandler.sync(this);
34717 _la = _input.LA(1);
34718 while (_la==COMMA_) {
34719 {
34720 {
34721 setState(4902);
34722 match(COMMA_);
34723 setState(4903);
34724 queryCapturePolicyOptionList();
34725 }
34726 }
34727 setState(4908);
34728 _errHandler.sync(this);
34729 _la = _input.LA(1);
34730 }
34731 setState(4909);
34732 match(RP_);
34733 }
34734 break;
34735 default:
34736 throw new NoViableAltException(this);
34737 }
34738 }
34739 catch (RecognitionException re) {
34740 _localctx.exception = re;
34741 _errHandler.reportError(this, re);
34742 _errHandler.recover(this, re);
34743 }
34744 finally {
34745 exitRule();
34746 }
34747 return _localctx;
34748 }
34749
34750 public static class QueryCapturePolicyOptionListContext extends ParserRuleContext {
34751 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
34752 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34753 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34754 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
34755 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
34756 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
34757 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
34758 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
34759 public QueryCapturePolicyOptionListContext(ParserRuleContext parent, int invokingState) {
34760 super(parent, invokingState);
34761 }
34762 @Override public int getRuleIndex() { return RULE_queryCapturePolicyOptionList; }
34763 @Override
34764 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34765 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryCapturePolicyOptionList(this);
34766 else return visitor.visitChildren(this);
34767 }
34768 }
34769
34770 public final QueryCapturePolicyOptionListContext queryCapturePolicyOptionList() throws RecognitionException {
34771 QueryCapturePolicyOptionListContext _localctx = new QueryCapturePolicyOptionListContext(_ctx, getState());
34772 enterRule(_localctx, 666, RULE_queryCapturePolicyOptionList);
34773 int _la;
34774 try {
34775 setState(4926);
34776 _errHandler.sync(this);
34777 switch (_input.LA(1)) {
34778 case STALE_CAPTURE_POLICY_THRESHOLD:
34779 enterOuterAlt(_localctx, 1);
34780 {
34781 setState(4913);
34782 match(STALE_CAPTURE_POLICY_THRESHOLD);
34783 setState(4914);
34784 match(EQ_);
34785 setState(4915);
34786 match(NUMBER_);
34787 setState(4916);
34788 _la = _input.LA(1);
34789 if ( !(_la==DAYS || _la==HOURS) ) {
34790 _errHandler.recoverInline(this);
34791 }
34792 else {
34793 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34794 _errHandler.reportMatch(this);
34795 consume();
34796 }
34797 }
34798 break;
34799 case EXECUTION_COUNT:
34800 enterOuterAlt(_localctx, 2);
34801 {
34802 setState(4917);
34803 match(EXECUTION_COUNT);
34804 setState(4918);
34805 match(EQ_);
34806 setState(4919);
34807 match(NUMBER_);
34808 }
34809 break;
34810 case TOTAL_COMPILE_CPU_TIME_MS:
34811 enterOuterAlt(_localctx, 3);
34812 {
34813 setState(4920);
34814 match(TOTAL_COMPILE_CPU_TIME_MS);
34815 setState(4921);
34816 match(EQ_);
34817 setState(4922);
34818 match(NUMBER_);
34819 }
34820 break;
34821 case TOTAL_EXECUTION_CPU_TIME_MS:
34822 enterOuterAlt(_localctx, 4);
34823 {
34824 setState(4923);
34825 match(TOTAL_EXECUTION_CPU_TIME_MS);
34826 setState(4924);
34827 match(EQ_);
34828 setState(4925);
34829 match(NUMBER_);
34830 }
34831 break;
34832 default:
34833 throw new NoViableAltException(this);
34834 }
34835 }
34836 catch (RecognitionException re) {
34837 _localctx.exception = re;
34838 _errHandler.reportError(this, re);
34839 _errHandler.recover(this, re);
34840 }
34841 finally {
34842 exitRule();
34843 }
34844 return _localctx;
34845 }
34846
34847 public static class RecoveryOptionContext extends ParserRuleContext {
34848 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
34849 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
34850 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
34851 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
34852 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
34853 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34854 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34855 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
34856 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
34857 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
34858 public RecoveryOptionContext(ParserRuleContext parent, int invokingState) {
34859 super(parent, invokingState);
34860 }
34861 @Override public int getRuleIndex() { return RULE_recoveryOption; }
34862 @Override
34863 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34864 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRecoveryOption(this);
34865 else return visitor.visitChildren(this);
34866 }
34867 }
34868
34869 public final RecoveryOptionContext recoveryOption() throws RecognitionException {
34870 RecoveryOptionContext _localctx = new RecoveryOptionContext(_ctx, getState());
34871 enterRule(_localctx, 668, RULE_recoveryOption);
34872 int _la;
34873 try {
34874 setState(4934);
34875 _errHandler.sync(this);
34876 switch (_input.LA(1)) {
34877 case RECOVERY:
34878 enterOuterAlt(_localctx, 1);
34879 {
34880 setState(4928);
34881 match(RECOVERY);
34882 setState(4929);
34883 _la = _input.LA(1);
34884 if ( !(_la==FULL || _la==SIMPLE || _la==BULK_LOGGED) ) {
34885 _errHandler.recoverInline(this);
34886 }
34887 else {
34888 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34889 _errHandler.reportMatch(this);
34890 consume();
34891 }
34892 }
34893 break;
34894 case TORN_PAGE_DETECTION:
34895 enterOuterAlt(_localctx, 2);
34896 {
34897 setState(4930);
34898 match(TORN_PAGE_DETECTION);
34899 setState(4931);
34900 _la = _input.LA(1);
34901 if ( !(_la==ON || _la==OFF) ) {
34902 _errHandler.recoverInline(this);
34903 }
34904 else {
34905 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34906 _errHandler.reportMatch(this);
34907 consume();
34908 }
34909 }
34910 break;
34911 case PAGE_VERIFY:
34912 enterOuterAlt(_localctx, 3);
34913 {
34914 setState(4932);
34915 match(PAGE_VERIFY);
34916 setState(4933);
34917 _la = _input.LA(1);
34918 if ( !(_la==NONE || _la==CHECKSUM || _la==TORN_PAGE_DETECTION) ) {
34919 _errHandler.recoverInline(this);
34920 }
34921 else {
34922 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34923 _errHandler.reportMatch(this);
34924 consume();
34925 }
34926 }
34927 break;
34928 default:
34929 throw new NoViableAltException(this);
34930 }
34931 }
34932 catch (RecognitionException re) {
34933 _localctx.exception = re;
34934 _errHandler.reportError(this, re);
34935 _errHandler.recover(this, re);
34936 }
34937 finally {
34938 exitRule();
34939 }
34940 return _localctx;
34941 }
34942
34943 public static class SqlOptionContext extends ParserRuleContext {
34944 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
34945 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34946 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34947 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
34948 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
34949 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
34950 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
34951 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
34952 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34953 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34954 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
34955 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
34956 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
34957 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
34958 public SqlOptionContext(ParserRuleContext parent, int invokingState) {
34959 super(parent, invokingState);
34960 }
34961 @Override public int getRuleIndex() { return RULE_sqlOption; }
34962 @Override
34963 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34964 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSqlOption(this);
34965 else return visitor.visitChildren(this);
34966 }
34967 }
34968
34969 public final SqlOptionContext sqlOption() throws RecognitionException {
34970 SqlOptionContext _localctx = new SqlOptionContext(_ctx, getState());
34971 enterRule(_localctx, 670, RULE_sqlOption);
34972 int _la;
34973 try {
34974 setState(4957);
34975 _errHandler.sync(this);
34976 switch (_input.LA(1)) {
34977 case ANSI_NULL_DEFAULT:
34978 enterOuterAlt(_localctx, 1);
34979 {
34980 setState(4936);
34981 match(ANSI_NULL_DEFAULT);
34982 setState(4937);
34983 _la = _input.LA(1);
34984 if ( !(_la==ON || _la==OFF) ) {
34985 _errHandler.recoverInline(this);
34986 }
34987 else {
34988 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34989 _errHandler.reportMatch(this);
34990 consume();
34991 }
34992 }
34993 break;
34994 case ANSI_NULLS:
34995 enterOuterAlt(_localctx, 2);
34996 {
34997 setState(4938);
34998 match(ANSI_NULLS);
34999 setState(4939);
35000 _la = _input.LA(1);
35001 if ( !(_la==ON || _la==OFF) ) {
35002 _errHandler.recoverInline(this);
35003 }
35004 else {
35005 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35006 _errHandler.reportMatch(this);
35007 consume();
35008 }
35009 }
35010 break;
35011 case ANSI_PADDING:
35012 enterOuterAlt(_localctx, 3);
35013 {
35014 setState(4940);
35015 match(ANSI_PADDING);
35016 setState(4941);
35017 _la = _input.LA(1);
35018 if ( !(_la==ON || _la==OFF) ) {
35019 _errHandler.recoverInline(this);
35020 }
35021 else {
35022 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35023 _errHandler.reportMatch(this);
35024 consume();
35025 }
35026 }
35027 break;
35028 case ANSI_WARNINGS:
35029 enterOuterAlt(_localctx, 4);
35030 {
35031 setState(4942);
35032 match(ANSI_WARNINGS);
35033 setState(4943);
35034 _la = _input.LA(1);
35035 if ( !(_la==ON || _la==OFF) ) {
35036 _errHandler.recoverInline(this);
35037 }
35038 else {
35039 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35040 _errHandler.reportMatch(this);
35041 consume();
35042 }
35043 }
35044 break;
35045 case ARITHABORT:
35046 enterOuterAlt(_localctx, 5);
35047 {
35048 setState(4944);
35049 match(ARITHABORT);
35050 setState(4945);
35051 _la = _input.LA(1);
35052 if ( !(_la==ON || _la==OFF) ) {
35053 _errHandler.recoverInline(this);
35054 }
35055 else {
35056 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35057 _errHandler.reportMatch(this);
35058 consume();
35059 }
35060 }
35061 break;
35062 case COMPATIBILITY_LEVEL:
35063 enterOuterAlt(_localctx, 6);
35064 {
35065 setState(4946);
35066 match(COMPATIBILITY_LEVEL);
35067 setState(4947);
35068 match(EQ_);
35069 setState(4948);
35070 match(NUMBER_);
35071 }
35072 break;
35073 case CONCAT_NULL_YIELDS_NULL:
35074 enterOuterAlt(_localctx, 7);
35075 {
35076 setState(4949);
35077 match(CONCAT_NULL_YIELDS_NULL);
35078 setState(4950);
35079 _la = _input.LA(1);
35080 if ( !(_la==ON || _la==OFF) ) {
35081 _errHandler.recoverInline(this);
35082 }
35083 else {
35084 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35085 _errHandler.reportMatch(this);
35086 consume();
35087 }
35088 }
35089 break;
35090 case NUMERIC_ROUNDABORT:
35091 enterOuterAlt(_localctx, 8);
35092 {
35093 setState(4951);
35094 match(NUMERIC_ROUNDABORT);
35095 setState(4952);
35096 _la = _input.LA(1);
35097 if ( !(_la==ON || _la==OFF) ) {
35098 _errHandler.recoverInline(this);
35099 }
35100 else {
35101 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35102 _errHandler.reportMatch(this);
35103 consume();
35104 }
35105 }
35106 break;
35107 case QUOTED_IDENTIFIER:
35108 enterOuterAlt(_localctx, 9);
35109 {
35110 setState(4953);
35111 match(QUOTED_IDENTIFIER);
35112 setState(4954);
35113 _la = _input.LA(1);
35114 if ( !(_la==ON || _la==OFF) ) {
35115 _errHandler.recoverInline(this);
35116 }
35117 else {
35118 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35119 _errHandler.reportMatch(this);
35120 consume();
35121 }
35122 }
35123 break;
35124 case RECURSIVE_TRIGGERS:
35125 enterOuterAlt(_localctx, 10);
35126 {
35127 setState(4955);
35128 match(RECURSIVE_TRIGGERS);
35129 setState(4956);
35130 _la = _input.LA(1);
35131 if ( !(_la==ON || _la==OFF) ) {
35132 _errHandler.recoverInline(this);
35133 }
35134 else {
35135 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35136 _errHandler.reportMatch(this);
35137 consume();
35138 }
35139 }
35140 break;
35141 default:
35142 throw new NoViableAltException(this);
35143 }
35144 }
35145 catch (RecognitionException re) {
35146 _localctx.exception = re;
35147 _errHandler.reportError(this, re);
35148 _errHandler.recover(this, re);
35149 }
35150 finally {
35151 exitRule();
35152 }
35153 return _localctx;
35154 }
35155
35156 public static class SnapshotOptionContext extends ParserRuleContext {
35157 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
35158 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
35159 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
35160 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
35161 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
35162 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35163 public SnapshotOptionContext(ParserRuleContext parent, int invokingState) {
35164 super(parent, invokingState);
35165 }
35166 @Override public int getRuleIndex() { return RULE_snapshotOption; }
35167 @Override
35168 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35169 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSnapshotOption(this);
35170 else return visitor.visitChildren(this);
35171 }
35172 }
35173
35174 public final SnapshotOptionContext snapshotOption() throws RecognitionException {
35175 SnapshotOptionContext _localctx = new SnapshotOptionContext(_ctx, getState());
35176 enterRule(_localctx, 672, RULE_snapshotOption);
35177 int _la;
35178 try {
35179 setState(4966);
35180 _errHandler.sync(this);
35181 switch (_input.LA(1)) {
35182 case ALLOW_SNAPSHOT_ISOLATION:
35183 enterOuterAlt(_localctx, 1);
35184 {
35185 setState(4959);
35186 match(ALLOW_SNAPSHOT_ISOLATION);
35187 setState(4960);
35188 _la = _input.LA(1);
35189 if ( !(_la==ON || _la==OFF) ) {
35190 _errHandler.recoverInline(this);
35191 }
35192 else {
35193 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35194 _errHandler.reportMatch(this);
35195 consume();
35196 }
35197 }
35198 break;
35199 case READ_COMMITTED_SNAPSHOT:
35200 enterOuterAlt(_localctx, 2);
35201 {
35202 setState(4961);
35203 match(READ_COMMITTED_SNAPSHOT);
35204 setState(4962);
35205 _la = _input.LA(1);
35206 if ( !(_la==ON || _la==OFF) ) {
35207 _errHandler.recoverInline(this);
35208 }
35209 else {
35210 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35211 _errHandler.reportMatch(this);
35212 consume();
35213 }
35214 }
35215 break;
35216 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
35217 enterOuterAlt(_localctx, 3);
35218 {
35219 setState(4963);
35220 match(MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT);
35221 setState(4964);
35222 match(EQ_);
35223 setState(4965);
35224 _la = _input.LA(1);
35225 if ( !(_la==ON || _la==OFF) ) {
35226 _errHandler.recoverInline(this);
35227 }
35228 else {
35229 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35230 _errHandler.reportMatch(this);
35231 consume();
35232 }
35233 }
35234 break;
35235 default:
35236 throw new NoViableAltException(this);
35237 }
35238 }
35239 catch (RecognitionException re) {
35240 _localctx.exception = re;
35241 _errHandler.reportError(this, re);
35242 _errHandler.recover(this, re);
35243 }
35244 finally {
35245 exitRule();
35246 }
35247 return _localctx;
35248 }
35249
35250 public static class ServiceBrokerOptionContext extends ParserRuleContext {
35251 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
35252 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
35253 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
35254 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
35255 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
35256 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
35257 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
35258 public ServiceBrokerOptionContext(ParserRuleContext parent, int invokingState) {
35259 super(parent, invokingState);
35260 }
35261 @Override public int getRuleIndex() { return RULE_serviceBrokerOption; }
35262 @Override
35263 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35264 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerOption(this);
35265 else return visitor.visitChildren(this);
35266 }
35267 }
35268
35269 public final ServiceBrokerOptionContext serviceBrokerOption() throws RecognitionException {
35270 ServiceBrokerOptionContext _localctx = new ServiceBrokerOptionContext(_ctx, getState());
35271 enterRule(_localctx, 674, RULE_serviceBrokerOption);
35272 int _la;
35273 try {
35274 setState(4974);
35275 _errHandler.sync(this);
35276 switch (_input.LA(1)) {
35277 case ENABLE_BROKER:
35278 enterOuterAlt(_localctx, 1);
35279 {
35280 setState(4968);
35281 match(ENABLE_BROKER);
35282 }
35283 break;
35284 case DISABLE_BROKER:
35285 enterOuterAlt(_localctx, 2);
35286 {
35287 setState(4969);
35288 match(DISABLE_BROKER);
35289 }
35290 break;
35291 case NEW_BROKER:
35292 enterOuterAlt(_localctx, 3);
35293 {
35294 setState(4970);
35295 match(NEW_BROKER);
35296 }
35297 break;
35298 case ERROR_BROKER_CONVERSATIONS:
35299 enterOuterAlt(_localctx, 4);
35300 {
35301 setState(4971);
35302 match(ERROR_BROKER_CONVERSATIONS);
35303 }
35304 break;
35305 case HONOR_BROKER_PRIORITY:
35306 enterOuterAlt(_localctx, 5);
35307 {
35308 setState(4972);
35309 match(HONOR_BROKER_PRIORITY);
35310 setState(4973);
35311 _la = _input.LA(1);
35312 if ( !(_la==ON || _la==OFF) ) {
35313 _errHandler.recoverInline(this);
35314 }
35315 else {
35316 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35317 _errHandler.reportMatch(this);
35318 consume();
35319 }
35320 }
35321 break;
35322 default:
35323 throw new NoViableAltException(this);
35324 }
35325 }
35326 catch (RecognitionException re) {
35327 _localctx.exception = re;
35328 _errHandler.reportError(this, re);
35329 _errHandler.recover(this, re);
35330 }
35331 finally {
35332 exitRule();
35333 }
35334 return _localctx;
35335 }
35336
35337 public static class TargetRecoveryTimeOptionContext extends ParserRuleContext {
35338 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
35339 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35340 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
35341 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
35342 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
35343 public TargetRecoveryTimeOptionContext(ParserRuleContext parent, int invokingState) {
35344 super(parent, invokingState);
35345 }
35346 @Override public int getRuleIndex() { return RULE_targetRecoveryTimeOption; }
35347 @Override
35348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTargetRecoveryTimeOption(this);
35350 else return visitor.visitChildren(this);
35351 }
35352 }
35353
35354 public final TargetRecoveryTimeOptionContext targetRecoveryTimeOption() throws RecognitionException {
35355 TargetRecoveryTimeOptionContext _localctx = new TargetRecoveryTimeOptionContext(_ctx, getState());
35356 enterRule(_localctx, 676, RULE_targetRecoveryTimeOption);
35357 int _la;
35358 try {
35359 enterOuterAlt(_localctx, 1);
35360 {
35361 setState(4976);
35362 match(TARGET_RECOVERY_TIME);
35363 setState(4977);
35364 match(EQ_);
35365 setState(4978);
35366 match(NUMBER_);
35367 setState(4979);
35368 _la = _input.LA(1);
35369 if ( !(_la==MINUTES || _la==SECONDS) ) {
35370 _errHandler.recoverInline(this);
35371 }
35372 else {
35373 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35374 _errHandler.reportMatch(this);
35375 consume();
35376 }
35377 }
35378 }
35379 catch (RecognitionException re) {
35380 _localctx.exception = re;
35381 _errHandler.reportError(this, re);
35382 _errHandler.recover(this, re);
35383 }
35384 finally {
35385 exitRule();
35386 }
35387 return _localctx;
35388 }
35389
35390 public static class TerminationContext extends ParserRuleContext {
35391 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
35392 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
35393 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
35394 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
35395 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
35396 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
35397 public TerminationContext(ParserRuleContext parent, int invokingState) {
35398 super(parent, invokingState);
35399 }
35400 @Override public int getRuleIndex() { return RULE_termination; }
35401 @Override
35402 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35403 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTermination(this);
35404 else return visitor.visitChildren(this);
35405 }
35406 }
35407
35408 public final TerminationContext termination() throws RecognitionException {
35409 TerminationContext _localctx = new TerminationContext(_ctx, getState());
35410 enterRule(_localctx, 678, RULE_termination);
35411 int _la;
35412 try {
35413 setState(4990);
35414 _errHandler.sync(this);
35415 switch ( getInterpreter().adaptivePredict(_input,534,_ctx) ) {
35416 case 1:
35417 enterOuterAlt(_localctx, 1);
35418 {
35419 setState(4981);
35420 match(ROLLBACK);
35421 setState(4982);
35422 match(AFTER);
35423 setState(4983);
35424 match(NUMBER_);
35425 setState(4985);
35426 _errHandler.sync(this);
35427 _la = _input.LA(1);
35428 if (_la==SECONDS) {
35429 {
35430 setState(4984);
35431 match(SECONDS);
35432 }
35433 }
35434
35435 }
35436 break;
35437 case 2:
35438 enterOuterAlt(_localctx, 2);
35439 {
35440 setState(4987);
35441 match(ROLLBACK);
35442 setState(4988);
35443 match(IMMEDIATE);
35444 }
35445 break;
35446 case 3:
35447 enterOuterAlt(_localctx, 3);
35448 {
35449 setState(4989);
35450 match(NO_WAIT);
35451 }
35452 break;
35453 }
35454 }
35455 catch (RecognitionException re) {
35456 _localctx.exception = re;
35457 _errHandler.reportError(this, re);
35458 _errHandler.recover(this, re);
35459 }
35460 finally {
35461 exitRule();
35462 }
35463 return _localctx;
35464 }
35465
35466 public static class CreateServiceClauseContext extends ParserRuleContext {
35467 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35468 public List<ContractNameContext> contractName() {
35469 return getRuleContexts(ContractNameContext.class);
35470 }
35471 public ContractNameContext contractName(int i) {
35472 return getRuleContext(ContractNameContext.class,i);
35473 }
35474 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35475 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35476 public TerminalNode COMMA_(int i) {
35477 return getToken(SQLServerStatementParser.COMMA_, i);
35478 }
35479 public CreateServiceClauseContext(ParserRuleContext parent, int invokingState) {
35480 super(parent, invokingState);
35481 }
35482 @Override public int getRuleIndex() { return RULE_createServiceClause; }
35483 @Override
35484 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35485 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateServiceClause(this);
35486 else return visitor.visitChildren(this);
35487 }
35488 }
35489
35490 public final CreateServiceClauseContext createServiceClause() throws RecognitionException {
35491 CreateServiceClauseContext _localctx = new CreateServiceClauseContext(_ctx, getState());
35492 enterRule(_localctx, 680, RULE_createServiceClause);
35493 int _la;
35494 try {
35495 enterOuterAlt(_localctx, 1);
35496 {
35497 setState(4992);
35498 match(LP_);
35499 setState(4993);
35500 contractName();
35501 setState(4998);
35502 _errHandler.sync(this);
35503 _la = _input.LA(1);
35504 while (_la==COMMA_) {
35505 {
35506 {
35507 setState(4994);
35508 match(COMMA_);
35509 setState(4995);
35510 contractName();
35511 }
35512 }
35513 setState(5000);
35514 _errHandler.sync(this);
35515 _la = _input.LA(1);
35516 }
35517 setState(5001);
35518 match(RP_);
35519 }
35520 }
35521 catch (RecognitionException re) {
35522 _localctx.exception = re;
35523 _errHandler.reportError(this, re);
35524 _errHandler.recover(this, re);
35525 }
35526 finally {
35527 exitRule();
35528 }
35529 return _localctx;
35530 }
35531
35532 public static class AlterServiceClauseContext extends ParserRuleContext {
35533 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35534 public List<AlterServiceOptArgContext> alterServiceOptArg() {
35535 return getRuleContexts(AlterServiceOptArgContext.class);
35536 }
35537 public AlterServiceOptArgContext alterServiceOptArg(int i) {
35538 return getRuleContext(AlterServiceOptArgContext.class,i);
35539 }
35540 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35541 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35542 public TerminalNode COMMA_(int i) {
35543 return getToken(SQLServerStatementParser.COMMA_, i);
35544 }
35545 public AlterServiceClauseContext(ParserRuleContext parent, int invokingState) {
35546 super(parent, invokingState);
35547 }
35548 @Override public int getRuleIndex() { return RULE_alterServiceClause; }
35549 @Override
35550 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35551 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceClause(this);
35552 else return visitor.visitChildren(this);
35553 }
35554 }
35555
35556 public final AlterServiceClauseContext alterServiceClause() throws RecognitionException {
35557 AlterServiceClauseContext _localctx = new AlterServiceClauseContext(_ctx, getState());
35558 enterRule(_localctx, 682, RULE_alterServiceClause);
35559 int _la;
35560 try {
35561 enterOuterAlt(_localctx, 1);
35562 {
35563 setState(5003);
35564 match(LP_);
35565 setState(5004);
35566 alterServiceOptArg();
35567 setState(5009);
35568 _errHandler.sync(this);
35569 _la = _input.LA(1);
35570 while (_la==COMMA_) {
35571 {
35572 {
35573 setState(5005);
35574 match(COMMA_);
35575 setState(5006);
35576 alterServiceOptArg();
35577 }
35578 }
35579 setState(5011);
35580 _errHandler.sync(this);
35581 _la = _input.LA(1);
35582 }
35583 setState(5012);
35584 match(RP_);
35585 }
35586 }
35587 catch (RecognitionException re) {
35588 _localctx.exception = re;
35589 _errHandler.reportError(this, re);
35590 _errHandler.recover(this, re);
35591 }
35592 finally {
35593 exitRule();
35594 }
35595 return _localctx;
35596 }
35597
35598 public static class AlterServiceOptArgContext extends ParserRuleContext {
35599 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
35600 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
35601 public ContractNameContext contractName() {
35602 return getRuleContext(ContractNameContext.class,0);
35603 }
35604 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
35605 public AlterServiceOptArgContext(ParserRuleContext parent, int invokingState) {
35606 super(parent, invokingState);
35607 }
35608 @Override public int getRuleIndex() { return RULE_alterServiceOptArg; }
35609 @Override
35610 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35611 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceOptArg(this);
35612 else return visitor.visitChildren(this);
35613 }
35614 }
35615
35616 public final AlterServiceOptArgContext alterServiceOptArg() throws RecognitionException {
35617 AlterServiceOptArgContext _localctx = new AlterServiceOptArgContext(_ctx, getState());
35618 enterRule(_localctx, 684, RULE_alterServiceOptArg);
35619 try {
35620 setState(5020);
35621 _errHandler.sync(this);
35622 switch (_input.LA(1)) {
35623 case ADD:
35624 enterOuterAlt(_localctx, 1);
35625 {
35626 setState(5014);
35627 match(ADD);
35628 setState(5015);
35629 match(CONTRACT);
35630 setState(5016);
35631 contractName();
35632 }
35633 break;
35634 case DROP:
35635 enterOuterAlt(_localctx, 2);
35636 {
35637 setState(5017);
35638 match(DROP);
35639 setState(5018);
35640 match(CONTRACT);
35641 setState(5019);
35642 contractName();
35643 }
35644 break;
35645 default:
35646 throw new NoViableAltException(this);
35647 }
35648 }
35649 catch (RecognitionException re) {
35650 _localctx.exception = re;
35651 _errHandler.reportError(this, re);
35652 _errHandler.recover(this, re);
35653 }
35654 finally {
35655 exitRule();
35656 }
35657 return _localctx;
35658 }
35659
35660 public static class SchemaNameClauseContext extends ParserRuleContext {
35661 public SchemaNameContext schemaName() {
35662 return getRuleContext(SchemaNameContext.class,0);
35663 }
35664 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
35665 public IgnoredIdentifierContext ignoredIdentifier() {
35666 return getRuleContext(IgnoredIdentifierContext.class,0);
35667 }
35668 public SchemaNameClauseContext(ParserRuleContext parent, int invokingState) {
35669 super(parent, invokingState);
35670 }
35671 @Override public int getRuleIndex() { return RULE_schemaNameClause; }
35672 @Override
35673 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35674 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaNameClause(this);
35675 else return visitor.visitChildren(this);
35676 }
35677 }
35678
35679 public final SchemaNameClauseContext schemaNameClause() throws RecognitionException {
35680 SchemaNameClauseContext _localctx = new SchemaNameClauseContext(_ctx, getState());
35681 enterRule(_localctx, 686, RULE_schemaNameClause);
35682 try {
35683 setState(5029);
35684 _errHandler.sync(this);
35685 switch ( getInterpreter().adaptivePredict(_input,538,_ctx) ) {
35686 case 1:
35687 enterOuterAlt(_localctx, 1);
35688 {
35689 setState(5022);
35690 schemaName();
35691 }
35692 break;
35693 case 2:
35694 enterOuterAlt(_localctx, 2);
35695 {
35696 setState(5023);
35697 match(AUTHORIZATION);
35698 setState(5024);
35699 ignoredIdentifier();
35700 }
35701 break;
35702 case 3:
35703 enterOuterAlt(_localctx, 3);
35704 {
35705 setState(5025);
35706 schemaName();
35707 setState(5026);
35708 match(AUTHORIZATION);
35709 setState(5027);
35710 ignoredIdentifier();
35711 }
35712 break;
35713 }
35714 }
35715 catch (RecognitionException re) {
35716 _localctx.exception = re;
35717 _errHandler.reportError(this, re);
35718 _errHandler.recover(this, re);
35719 }
35720 finally {
35721 exitRule();
35722 }
35723 return _localctx;
35724 }
35725
35726 public static class SchemaElementContext extends ParserRuleContext {
35727 public CreateTableContext createTable() {
35728 return getRuleContext(CreateTableContext.class,0);
35729 }
35730 public CreateViewContext createView() {
35731 return getRuleContext(CreateViewContext.class,0);
35732 }
35733 public GrantContext grant() {
35734 return getRuleContext(GrantContext.class,0);
35735 }
35736 public RevokeContext revoke() {
35737 return getRuleContext(RevokeContext.class,0);
35738 }
35739 public DenyContext deny() {
35740 return getRuleContext(DenyContext.class,0);
35741 }
35742 public SchemaElementContext(ParserRuleContext parent, int invokingState) {
35743 super(parent, invokingState);
35744 }
35745 @Override public int getRuleIndex() { return RULE_schemaElement; }
35746 @Override
35747 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35748 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaElement(this);
35749 else return visitor.visitChildren(this);
35750 }
35751 }
35752
35753 public final SchemaElementContext schemaElement() throws RecognitionException {
35754 SchemaElementContext _localctx = new SchemaElementContext(_ctx, getState());
35755 enterRule(_localctx, 688, RULE_schemaElement);
35756 try {
35757 setState(5036);
35758 _errHandler.sync(this);
35759 switch ( getInterpreter().adaptivePredict(_input,539,_ctx) ) {
35760 case 1:
35761 enterOuterAlt(_localctx, 1);
35762 {
35763 setState(5031);
35764 createTable();
35765 }
35766 break;
35767 case 2:
35768 enterOuterAlt(_localctx, 2);
35769 {
35770 setState(5032);
35771 createView();
35772 }
35773 break;
35774 case 3:
35775 enterOuterAlt(_localctx, 3);
35776 {
35777 setState(5033);
35778 grant();
35779 }
35780 break;
35781 case 4:
35782 enterOuterAlt(_localctx, 4);
35783 {
35784 setState(5034);
35785 revoke();
35786 }
35787 break;
35788 case 5:
35789 enterOuterAlt(_localctx, 5);
35790 {
35791 setState(5035);
35792 deny();
35793 }
35794 break;
35795 }
35796 }
35797 catch (RecognitionException re) {
35798 _localctx.exception = re;
35799 _errHandler.reportError(this, re);
35800 _errHandler.recover(this, re);
35801 }
35802 finally {
35803 exitRule();
35804 }
35805 return _localctx;
35806 }
35807
35808 public static class CreateTableAsSelectClauseContext extends ParserRuleContext {
35809 public CreateTableAsSelectContext createTableAsSelect() {
35810 return getRuleContext(CreateTableAsSelectContext.class,0);
35811 }
35812 public CreateRemoteTableAsSelectContext createRemoteTableAsSelect() {
35813 return getRuleContext(CreateRemoteTableAsSelectContext.class,0);
35814 }
35815 public CreateTableAsSelectClauseContext(ParserRuleContext parent, int invokingState) {
35816 super(parent, invokingState);
35817 }
35818 @Override public int getRuleIndex() { return RULE_createTableAsSelectClause; }
35819 @Override
35820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelectClause(this);
35822 else return visitor.visitChildren(this);
35823 }
35824 }
35825
35826 public final CreateTableAsSelectClauseContext createTableAsSelectClause() throws RecognitionException {
35827 CreateTableAsSelectClauseContext _localctx = new CreateTableAsSelectClauseContext(_ctx, getState());
35828 enterRule(_localctx, 690, RULE_createTableAsSelectClause);
35829 try {
35830 setState(5040);
35831 _errHandler.sync(this);
35832 switch ( getInterpreter().adaptivePredict(_input,540,_ctx) ) {
35833 case 1:
35834 enterOuterAlt(_localctx, 1);
35835 {
35836 setState(5038);
35837 createTableAsSelect();
35838 }
35839 break;
35840 case 2:
35841 enterOuterAlt(_localctx, 2);
35842 {
35843 setState(5039);
35844 createRemoteTableAsSelect();
35845 }
35846 break;
35847 }
35848 }
35849 catch (RecognitionException re) {
35850 _localctx.exception = re;
35851 _errHandler.reportError(this, re);
35852 _errHandler.recover(this, re);
35853 }
35854 finally {
35855 exitRule();
35856 }
35857 return _localctx;
35858 }
35859
35860 public static class CreateTableAsSelectContext extends ParserRuleContext {
35861 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
35862 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
35863 public TableNameContext tableName() {
35864 return getRuleContext(TableNameContext.class,0);
35865 }
35866 public WithDistributionOptionContext withDistributionOption() {
35867 return getRuleContext(WithDistributionOptionContext.class,0);
35868 }
35869 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35870 public SelectContext select() {
35871 return getRuleContext(SelectContext.class,0);
35872 }
35873 public OptionQueryHintClauseContext optionQueryHintClause() {
35874 return getRuleContext(OptionQueryHintClauseContext.class,0);
35875 }
35876 public ColumnNamesContext columnNames() {
35877 return getRuleContext(ColumnNamesContext.class,0);
35878 }
35879 public CreateTableAsSelectContext(ParserRuleContext parent, int invokingState) {
35880 super(parent, invokingState);
35881 }
35882 @Override public int getRuleIndex() { return RULE_createTableAsSelect; }
35883 @Override
35884 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35885 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelect(this);
35886 else return visitor.visitChildren(this);
35887 }
35888 }
35889
35890 public final CreateTableAsSelectContext createTableAsSelect() throws RecognitionException {
35891 CreateTableAsSelectContext _localctx = new CreateTableAsSelectContext(_ctx, getState());
35892 enterRule(_localctx, 692, RULE_createTableAsSelect);
35893 int _la;
35894 try {
35895 enterOuterAlt(_localctx, 1);
35896 {
35897 setState(5042);
35898 match(CREATE);
35899 setState(5043);
35900 match(TABLE);
35901 setState(5044);
35902 tableName();
35903 setState(5046);
35904 _errHandler.sync(this);
35905 _la = _input.LA(1);
35906 if (_la==LP_) {
35907 {
35908 setState(5045);
35909 columnNames();
35910 }
35911 }
35912
35913 setState(5048);
35914 withDistributionOption();
35915 setState(5049);
35916 match(AS);
35917 setState(5050);
35918 select();
35919 setState(5051);
35920 optionQueryHintClause();
35921 }
35922 }
35923 catch (RecognitionException re) {
35924 _localctx.exception = re;
35925 _errHandler.reportError(this, re);
35926 _errHandler.recover(this, re);
35927 }
35928 finally {
35929 exitRule();
35930 }
35931 return _localctx;
35932 }
35933
35934 public static class CreateRemoteTableAsSelectContext extends ParserRuleContext {
35935 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
35936 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
35937 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
35938 public TableNameContext tableName() {
35939 return getRuleContext(TableNameContext.class,0);
35940 }
35941 public TerminalNode AT() { return getToken(SQLServerStatementParser.AT, 0); }
35942 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
35943 public TerminalNode LP_(int i) {
35944 return getToken(SQLServerStatementParser.LP_, i);
35945 }
35946 public StringLiteralsContext stringLiterals() {
35947 return getRuleContext(StringLiteralsContext.class,0);
35948 }
35949 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
35950 public TerminalNode RP_(int i) {
35951 return getToken(SQLServerStatementParser.RP_, i);
35952 }
35953 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35954 public SelectContext select() {
35955 return getRuleContext(SelectContext.class,0);
35956 }
35957 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
35958 public TerminalNode BATCH_SIZE() { return getToken(SQLServerStatementParser.BATCH_SIZE, 0); }
35959 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35960 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
35961 public CreateRemoteTableAsSelectContext(ParserRuleContext parent, int invokingState) {
35962 super(parent, invokingState);
35963 }
35964 @Override public int getRuleIndex() { return RULE_createRemoteTableAsSelect; }
35965 @Override
35966 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35967 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRemoteTableAsSelect(this);
35968 else return visitor.visitChildren(this);
35969 }
35970 }
35971
35972 public final CreateRemoteTableAsSelectContext createRemoteTableAsSelect() throws RecognitionException {
35973 CreateRemoteTableAsSelectContext _localctx = new CreateRemoteTableAsSelectContext(_ctx, getState());
35974 enterRule(_localctx, 694, RULE_createRemoteTableAsSelect);
35975 int _la;
35976 try {
35977 enterOuterAlt(_localctx, 1);
35978 {
35979 setState(5053);
35980 match(CREATE);
35981 setState(5054);
35982 match(REMOTE);
35983 setState(5055);
35984 match(TABLE);
35985 setState(5056);
35986 tableName();
35987 setState(5057);
35988 match(AT);
35989 setState(5058);
35990 match(LP_);
35991 setState(5059);
35992 stringLiterals();
35993 setState(5060);
35994 match(RP_);
35995 setState(5067);
35996 _errHandler.sync(this);
35997 _la = _input.LA(1);
35998 if (_la==WITH) {
35999 {
36000 setState(5061);
36001 match(WITH);
36002 setState(5062);
36003 match(LP_);
36004 setState(5063);
36005 match(BATCH_SIZE);
36006 setState(5064);
36007 match(EQ_);
36008 setState(5065);
36009 match(INT_NUM_);
36010 setState(5066);
36011 match(RP_);
36012 }
36013 }
36014
36015 setState(5069);
36016 match(AS);
36017 setState(5070);
36018 select();
36019 }
36020 }
36021 catch (RecognitionException re) {
36022 _localctx.exception = re;
36023 _errHandler.reportError(this, re);
36024 _errHandler.recover(this, re);
36025 }
36026 finally {
36027 exitRule();
36028 }
36029 return _localctx;
36030 }
36031
36032 public static class WithDistributionOptionContext extends ParserRuleContext {
36033 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
36034 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36035 public DistributionOptionContext distributionOption() {
36036 return getRuleContext(DistributionOptionContext.class,0);
36037 }
36038 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36039 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36040 public TerminalNode COMMA_(int i) {
36041 return getToken(SQLServerStatementParser.COMMA_, i);
36042 }
36043 public List<TableOptionContext> tableOption() {
36044 return getRuleContexts(TableOptionContext.class);
36045 }
36046 public TableOptionContext tableOption(int i) {
36047 return getRuleContext(TableOptionContext.class,i);
36048 }
36049 public WithDistributionOptionContext(ParserRuleContext parent, int invokingState) {
36050 super(parent, invokingState);
36051 }
36052 @Override public int getRuleIndex() { return RULE_withDistributionOption; }
36053 @Override
36054 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36055 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithDistributionOption(this);
36056 else return visitor.visitChildren(this);
36057 }
36058 }
36059
36060 public final WithDistributionOptionContext withDistributionOption() throws RecognitionException {
36061 WithDistributionOptionContext _localctx = new WithDistributionOptionContext(_ctx, getState());
36062 enterRule(_localctx, 696, RULE_withDistributionOption);
36063 int _la;
36064 try {
36065 enterOuterAlt(_localctx, 1);
36066 {
36067 setState(5072);
36068 match(WITH);
36069 setState(5073);
36070 match(LP_);
36071 setState(5074);
36072 distributionOption();
36073 setState(5084);
36074 _errHandler.sync(this);
36075 _la = _input.LA(1);
36076 if (_la==COMMA_) {
36077 {
36078 setState(5075);
36079 match(COMMA_);
36080 setState(5076);
36081 tableOption();
36082 setState(5081);
36083 _errHandler.sync(this);
36084 _la = _input.LA(1);
36085 while (_la==COMMA_) {
36086 {
36087 {
36088 setState(5077);
36089 match(COMMA_);
36090 setState(5078);
36091 tableOption();
36092 }
36093 }
36094 setState(5083);
36095 _errHandler.sync(this);
36096 _la = _input.LA(1);
36097 }
36098 }
36099 }
36100
36101 setState(5086);
36102 match(RP_);
36103 }
36104 }
36105 catch (RecognitionException re) {
36106 _localctx.exception = re;
36107 _errHandler.reportError(this, re);
36108 _errHandler.recover(this, re);
36109 }
36110 finally {
36111 exitRule();
36112 }
36113 return _localctx;
36114 }
36115
36116 public static class OptionQueryHintClauseContext extends ParserRuleContext {
36117 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
36118 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36119 public List<QueryHintContext> queryHint() {
36120 return getRuleContexts(QueryHintContext.class);
36121 }
36122 public QueryHintContext queryHint(int i) {
36123 return getRuleContext(QueryHintContext.class,i);
36124 }
36125 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36126 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36127 public TerminalNode COMMA_(int i) {
36128 return getToken(SQLServerStatementParser.COMMA_, i);
36129 }
36130 public OptionQueryHintClauseContext(ParserRuleContext parent, int invokingState) {
36131 super(parent, invokingState);
36132 }
36133 @Override public int getRuleIndex() { return RULE_optionQueryHintClause; }
36134 @Override
36135 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36136 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionQueryHintClause(this);
36137 else return visitor.visitChildren(this);
36138 }
36139 }
36140
36141 public final OptionQueryHintClauseContext optionQueryHintClause() throws RecognitionException {
36142 OptionQueryHintClauseContext _localctx = new OptionQueryHintClauseContext(_ctx, getState());
36143 enterRule(_localctx, 698, RULE_optionQueryHintClause);
36144 int _la;
36145 try {
36146 enterOuterAlt(_localctx, 1);
36147 {
36148 setState(5100);
36149 _errHandler.sync(this);
36150 _la = _input.LA(1);
36151 if (_la==OPTION) {
36152 {
36153 setState(5088);
36154 match(OPTION);
36155 setState(5089);
36156 match(LP_);
36157 setState(5090);
36158 queryHint();
36159 setState(5095);
36160 _errHandler.sync(this);
36161 _la = _input.LA(1);
36162 while (_la==COMMA_) {
36163 {
36164 {
36165 setState(5091);
36166 match(COMMA_);
36167 setState(5092);
36168 queryHint();
36169 }
36170 }
36171 setState(5097);
36172 _errHandler.sync(this);
36173 _la = _input.LA(1);
36174 }
36175 setState(5098);
36176 match(RP_);
36177 }
36178 }
36179
36180 }
36181 }
36182 catch (RecognitionException re) {
36183 _localctx.exception = re;
36184 _errHandler.reportError(this, re);
36185 _errHandler.recover(this, re);
36186 }
36187 finally {
36188 exitRule();
36189 }
36190 return _localctx;
36191 }
36192
36193 public static class InsertContext extends ParserRuleContext {
36194 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
36195 public TableNameContext tableName() {
36196 return getRuleContext(TableNameContext.class,0);
36197 }
36198 public InsertDefaultValueContext insertDefaultValue() {
36199 return getRuleContext(InsertDefaultValueContext.class,0);
36200 }
36201 public InsertValuesClauseContext insertValuesClause() {
36202 return getRuleContext(InsertValuesClauseContext.class,0);
36203 }
36204 public InsertSelectClauseContext insertSelectClause() {
36205 return getRuleContext(InsertSelectClauseContext.class,0);
36206 }
36207 public InsertExecClauseContext insertExecClause() {
36208 return getRuleContext(InsertExecClauseContext.class,0);
36209 }
36210 public WithClauseContext withClause() {
36211 return getRuleContext(WithClauseContext.class,0);
36212 }
36213 public TopContext top() {
36214 return getRuleContext(TopContext.class,0);
36215 }
36216 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
36217 public AliasContext alias() {
36218 return getRuleContext(AliasContext.class,0);
36219 }
36220 public WithTableHintContext withTableHint() {
36221 return getRuleContext(WithTableHintContext.class,0);
36222 }
36223 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
36224 public InsertContext(ParserRuleContext parent, int invokingState) {
36225 super(parent, invokingState);
36226 }
36227 @Override public int getRuleIndex() { return RULE_insert; }
36228 @Override
36229 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36230 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsert(this);
36231 else return visitor.visitChildren(this);
36232 }
36233 }
36234
36235 public final InsertContext insert() throws RecognitionException {
36236 InsertContext _localctx = new InsertContext(_ctx, getState());
36237 enterRule(_localctx, 700, RULE_insert);
36238 int _la;
36239 try {
36240 enterOuterAlt(_localctx, 1);
36241 {
36242 setState(5103);
36243 _errHandler.sync(this);
36244 _la = _input.LA(1);
36245 if (_la==WITH) {
36246 {
36247 setState(5102);
36248 withClause();
36249 }
36250 }
36251
36252 setState(5105);
36253 match(INSERT);
36254 setState(5107);
36255 _errHandler.sync(this);
36256 switch ( getInterpreter().adaptivePredict(_input,548,_ctx) ) {
36257 case 1:
36258 {
36259 setState(5106);
36260 top();
36261 }
36262 break;
36263 }
36264 setState(5110);
36265 _errHandler.sync(this);
36266 _la = _input.LA(1);
36267 if (_la==INTO) {
36268 {
36269 setState(5109);
36270 match(INTO);
36271 }
36272 }
36273
36274 setState(5112);
36275 tableName();
36276 setState(5117);
36277 _errHandler.sync(this);
36278 switch ( getInterpreter().adaptivePredict(_input,551,_ctx) ) {
36279 case 1:
36280 {
36281 setState(5114);
36282 _errHandler.sync(this);
36283 _la = _input.LA(1);
36284 if (_la==AS) {
36285 {
36286 setState(5113);
36287 match(AS);
36288 }
36289 }
36290
36291 setState(5116);
36292 alias();
36293 }
36294 break;
36295 }
36296 setState(5120);
36297 _errHandler.sync(this);
36298 switch ( getInterpreter().adaptivePredict(_input,552,_ctx) ) {
36299 case 1:
36300 {
36301 setState(5119);
36302 withTableHint();
36303 }
36304 break;
36305 }
36306 setState(5126);
36307 _errHandler.sync(this);
36308 switch ( getInterpreter().adaptivePredict(_input,553,_ctx) ) {
36309 case 1:
36310 {
36311 setState(5122);
36312 insertDefaultValue();
36313 }
36314 break;
36315 case 2:
36316 {
36317 setState(5123);
36318 insertValuesClause();
36319 }
36320 break;
36321 case 3:
36322 {
36323 setState(5124);
36324 insertSelectClause();
36325 }
36326 break;
36327 case 4:
36328 {
36329 setState(5125);
36330 insertExecClause();
36331 }
36332 break;
36333 }
36334 }
36335 }
36336 catch (RecognitionException re) {
36337 _localctx.exception = re;
36338 _errHandler.reportError(this, re);
36339 _errHandler.recover(this, re);
36340 }
36341 finally {
36342 exitRule();
36343 }
36344 return _localctx;
36345 }
36346
36347 public static class InsertDefaultValueContext extends ParserRuleContext {
36348 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
36349 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
36350 public ColumnNamesContext columnNames() {
36351 return getRuleContext(ColumnNamesContext.class,0);
36352 }
36353 public OutputClauseContext outputClause() {
36354 return getRuleContext(OutputClauseContext.class,0);
36355 }
36356 public InsertDefaultValueContext(ParserRuleContext parent, int invokingState) {
36357 super(parent, invokingState);
36358 }
36359 @Override public int getRuleIndex() { return RULE_insertDefaultValue; }
36360 @Override
36361 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36362 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertDefaultValue(this);
36363 else return visitor.visitChildren(this);
36364 }
36365 }
36366
36367 public final InsertDefaultValueContext insertDefaultValue() throws RecognitionException {
36368 InsertDefaultValueContext _localctx = new InsertDefaultValueContext(_ctx, getState());
36369 enterRule(_localctx, 702, RULE_insertDefaultValue);
36370 int _la;
36371 try {
36372 enterOuterAlt(_localctx, 1);
36373 {
36374 setState(5129);
36375 _errHandler.sync(this);
36376 _la = _input.LA(1);
36377 if (_la==LP_) {
36378 {
36379 setState(5128);
36380 columnNames();
36381 }
36382 }
36383
36384 setState(5132);
36385 _errHandler.sync(this);
36386 _la = _input.LA(1);
36387 if (_la==OUTPUT) {
36388 {
36389 setState(5131);
36390 outputClause();
36391 }
36392 }
36393
36394 setState(5134);
36395 match(DEFAULT);
36396 setState(5135);
36397 match(VALUES);
36398 }
36399 }
36400 catch (RecognitionException re) {
36401 _localctx.exception = re;
36402 _errHandler.reportError(this, re);
36403 _errHandler.recover(this, re);
36404 }
36405 finally {
36406 exitRule();
36407 }
36408 return _localctx;
36409 }
36410
36411 public static class InsertValuesClauseContext extends ParserRuleContext {
36412 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
36413 public List<AssignmentValuesContext> assignmentValues() {
36414 return getRuleContexts(AssignmentValuesContext.class);
36415 }
36416 public AssignmentValuesContext assignmentValues(int i) {
36417 return getRuleContext(AssignmentValuesContext.class,i);
36418 }
36419 public ColumnNamesContext columnNames() {
36420 return getRuleContext(ColumnNamesContext.class,0);
36421 }
36422 public OutputClauseContext outputClause() {
36423 return getRuleContext(OutputClauseContext.class,0);
36424 }
36425 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36426 public TerminalNode COMMA_(int i) {
36427 return getToken(SQLServerStatementParser.COMMA_, i);
36428 }
36429 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
36430 super(parent, invokingState);
36431 }
36432 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
36433 @Override
36434 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36435 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
36436 else return visitor.visitChildren(this);
36437 }
36438 }
36439
36440 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
36441 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
36442 enterRule(_localctx, 704, RULE_insertValuesClause);
36443 int _la;
36444 try {
36445 enterOuterAlt(_localctx, 1);
36446 {
36447 setState(5138);
36448 _errHandler.sync(this);
36449 _la = _input.LA(1);
36450 if (_la==LP_) {
36451 {
36452 setState(5137);
36453 columnNames();
36454 }
36455 }
36456
36457 setState(5141);
36458 _errHandler.sync(this);
36459 _la = _input.LA(1);
36460 if (_la==OUTPUT) {
36461 {
36462 setState(5140);
36463 outputClause();
36464 }
36465 }
36466
36467 setState(5143);
36468 match(VALUES);
36469 setState(5144);
36470 assignmentValues();
36471 setState(5149);
36472 _errHandler.sync(this);
36473 _la = _input.LA(1);
36474 while (_la==COMMA_) {
36475 {
36476 {
36477 setState(5145);
36478 match(COMMA_);
36479 setState(5146);
36480 assignmentValues();
36481 }
36482 }
36483 setState(5151);
36484 _errHandler.sync(this);
36485 _la = _input.LA(1);
36486 }
36487 }
36488 }
36489 catch (RecognitionException re) {
36490 _localctx.exception = re;
36491 _errHandler.reportError(this, re);
36492 _errHandler.recover(this, re);
36493 }
36494 finally {
36495 exitRule();
36496 }
36497 return _localctx;
36498 }
36499
36500 public static class InsertSelectClauseContext extends ParserRuleContext {
36501 public SelectContext select() {
36502 return getRuleContext(SelectContext.class,0);
36503 }
36504 public ColumnNamesContext columnNames() {
36505 return getRuleContext(ColumnNamesContext.class,0);
36506 }
36507 public OutputClauseContext outputClause() {
36508 return getRuleContext(OutputClauseContext.class,0);
36509 }
36510 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
36511 super(parent, invokingState);
36512 }
36513 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
36514 @Override
36515 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36516 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
36517 else return visitor.visitChildren(this);
36518 }
36519 }
36520
36521 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
36522 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
36523 enterRule(_localctx, 706, RULE_insertSelectClause);
36524 int _la;
36525 try {
36526 enterOuterAlt(_localctx, 1);
36527 {
36528 setState(5153);
36529 _errHandler.sync(this);
36530 _la = _input.LA(1);
36531 if (_la==LP_) {
36532 {
36533 setState(5152);
36534 columnNames();
36535 }
36536 }
36537
36538 setState(5156);
36539 _errHandler.sync(this);
36540 _la = _input.LA(1);
36541 if (_la==OUTPUT) {
36542 {
36543 setState(5155);
36544 outputClause();
36545 }
36546 }
36547
36548 setState(5158);
36549 select();
36550 }
36551 }
36552 catch (RecognitionException re) {
36553 _localctx.exception = re;
36554 _errHandler.reportError(this, re);
36555 _errHandler.recover(this, re);
36556 }
36557 finally {
36558 exitRule();
36559 }
36560 return _localctx;
36561 }
36562
36563 public static class InsertExecClauseContext extends ParserRuleContext {
36564 public ExecContext exec() {
36565 return getRuleContext(ExecContext.class,0);
36566 }
36567 public ColumnNamesContext columnNames() {
36568 return getRuleContext(ColumnNamesContext.class,0);
36569 }
36570 public InsertExecClauseContext(ParserRuleContext parent, int invokingState) {
36571 super(parent, invokingState);
36572 }
36573 @Override public int getRuleIndex() { return RULE_insertExecClause; }
36574 @Override
36575 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36576 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertExecClause(this);
36577 else return visitor.visitChildren(this);
36578 }
36579 }
36580
36581 public final InsertExecClauseContext insertExecClause() throws RecognitionException {
36582 InsertExecClauseContext _localctx = new InsertExecClauseContext(_ctx, getState());
36583 enterRule(_localctx, 708, RULE_insertExecClause);
36584 int _la;
36585 try {
36586 enterOuterAlt(_localctx, 1);
36587 {
36588 setState(5161);
36589 _errHandler.sync(this);
36590 _la = _input.LA(1);
36591 if (_la==LP_) {
36592 {
36593 setState(5160);
36594 columnNames();
36595 }
36596 }
36597
36598 setState(5163);
36599 exec();
36600 }
36601 }
36602 catch (RecognitionException re) {
36603 _localctx.exception = re;
36604 _errHandler.reportError(this, re);
36605 _errHandler.recover(this, re);
36606 }
36607 finally {
36608 exitRule();
36609 }
36610 return _localctx;
36611 }
36612
36613 public static class WithTableHintContext extends ParserRuleContext {
36614 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36615 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36616 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
36617 public List<TableHintLimitedContext> tableHintLimited() {
36618 return getRuleContexts(TableHintLimitedContext.class);
36619 }
36620 public TableHintLimitedContext tableHintLimited(int i) {
36621 return getRuleContext(TableHintLimitedContext.class,i);
36622 }
36623 public WithTableHintContext(ParserRuleContext parent, int invokingState) {
36624 super(parent, invokingState);
36625 }
36626 @Override public int getRuleIndex() { return RULE_withTableHint; }
36627 @Override
36628 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36629 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithTableHint(this);
36630 else return visitor.visitChildren(this);
36631 }
36632 }
36633
36634 public final WithTableHintContext withTableHint() throws RecognitionException {
36635 WithTableHintContext _localctx = new WithTableHintContext(_ctx, getState());
36636 enterRule(_localctx, 710, RULE_withTableHint);
36637 int _la;
36638 try {
36639 enterOuterAlt(_localctx, 1);
36640 {
36641 setState(5166);
36642 _errHandler.sync(this);
36643 _la = _input.LA(1);
36644 if (_la==WITH) {
36645 {
36646 setState(5165);
36647 match(WITH);
36648 }
36649 }
36650
36651 setState(5168);
36652 match(LP_);
36653 {
36654 setState(5170);
36655 _errHandler.sync(this);
36656 _la = _input.LA(1);
36657 do {
36658 {
36659 {
36660 setState(5169);
36661 tableHintLimited();
36662 }
36663 }
36664 setState(5172);
36665 _errHandler.sync(this);
36666 _la = _input.LA(1);
36667 } while ( ((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE );
36668 }
36669 setState(5174);
36670 match(RP_);
36671 }
36672 }
36673 catch (RecognitionException re) {
36674 _localctx.exception = re;
36675 _errHandler.reportError(this, re);
36676 _errHandler.recover(this, re);
36677 }
36678 finally {
36679 exitRule();
36680 }
36681 return _localctx;
36682 }
36683
36684 public static class ExecContext extends ParserRuleContext {
36685 public ProcedureNameContext procedureName() {
36686 return getRuleContext(ProcedureNameContext.class,0);
36687 }
36688 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
36689 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
36690 public List<ExprContext> expr() {
36691 return getRuleContexts(ExprContext.class);
36692 }
36693 public ExprContext expr(int i) {
36694 return getRuleContext(ExprContext.class,i);
36695 }
36696 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36697 public TerminalNode COMMA_(int i) {
36698 return getToken(SQLServerStatementParser.COMMA_, i);
36699 }
36700 public ExecContext(ParserRuleContext parent, int invokingState) {
36701 super(parent, invokingState);
36702 }
36703 @Override public int getRuleIndex() { return RULE_exec; }
36704 @Override
36705 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36706 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExec(this);
36707 else return visitor.visitChildren(this);
36708 }
36709 }
36710
36711 public final ExecContext exec() throws RecognitionException {
36712 ExecContext _localctx = new ExecContext(_ctx, getState());
36713 enterRule(_localctx, 712, RULE_exec);
36714 int _la;
36715 try {
36716 enterOuterAlt(_localctx, 1);
36717 {
36718 setState(5176);
36719 _la = _input.LA(1);
36720 if ( !(_la==EXECUTE || _la==EXEC) ) {
36721 _errHandler.recoverInline(this);
36722 }
36723 else {
36724 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36725 _errHandler.reportMatch(this);
36726 consume();
36727 }
36728 setState(5177);
36729 procedureName();
36730 setState(5186);
36731 _errHandler.sync(this);
36732 switch ( getInterpreter().adaptivePredict(_input,565,_ctx) ) {
36733 case 1:
36734 {
36735 setState(5178);
36736 expr(0);
36737 setState(5183);
36738 _errHandler.sync(this);
36739 _la = _input.LA(1);
36740 while (_la==COMMA_) {
36741 {
36742 {
36743 setState(5179);
36744 match(COMMA_);
36745 setState(5180);
36746 expr(0);
36747 }
36748 }
36749 setState(5185);
36750 _errHandler.sync(this);
36751 _la = _input.LA(1);
36752 }
36753 }
36754 break;
36755 }
36756 }
36757 }
36758 catch (RecognitionException re) {
36759 _localctx.exception = re;
36760 _errHandler.reportError(this, re);
36761 _errHandler.recover(this, re);
36762 }
36763 finally {
36764 exitRule();
36765 }
36766 return _localctx;
36767 }
36768
36769 public static class UpdateContext extends ParserRuleContext {
36770 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
36771 public TableReferencesContext tableReferences() {
36772 return getRuleContext(TableReferencesContext.class,0);
36773 }
36774 public SetAssignmentsClauseContext setAssignmentsClause() {
36775 return getRuleContext(SetAssignmentsClauseContext.class,0);
36776 }
36777 public WithClauseContext withClause() {
36778 return getRuleContext(WithClauseContext.class,0);
36779 }
36780 public TopContext top() {
36781 return getRuleContext(TopContext.class,0);
36782 }
36783 public WithTableHintContext withTableHint() {
36784 return getRuleContext(WithTableHintContext.class,0);
36785 }
36786 public OutputClauseContext outputClause() {
36787 return getRuleContext(OutputClauseContext.class,0);
36788 }
36789 public WhereClauseContext whereClause() {
36790 return getRuleContext(WhereClauseContext.class,0);
36791 }
36792 public OptionHintContext optionHint() {
36793 return getRuleContext(OptionHintContext.class,0);
36794 }
36795 public UpdateContext(ParserRuleContext parent, int invokingState) {
36796 super(parent, invokingState);
36797 }
36798 @Override public int getRuleIndex() { return RULE_update; }
36799 @Override
36800 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36801 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdate(this);
36802 else return visitor.visitChildren(this);
36803 }
36804 }
36805
36806 public final UpdateContext update() throws RecognitionException {
36807 UpdateContext _localctx = new UpdateContext(_ctx, getState());
36808 enterRule(_localctx, 714, RULE_update);
36809 int _la;
36810 try {
36811 enterOuterAlt(_localctx, 1);
36812 {
36813 setState(5189);
36814 _errHandler.sync(this);
36815 _la = _input.LA(1);
36816 if (_la==WITH) {
36817 {
36818 setState(5188);
36819 withClause();
36820 }
36821 }
36822
36823 setState(5191);
36824 match(UPDATE);
36825 setState(5193);
36826 _errHandler.sync(this);
36827 switch ( getInterpreter().adaptivePredict(_input,567,_ctx) ) {
36828 case 1:
36829 {
36830 setState(5192);
36831 top();
36832 }
36833 break;
36834 }
36835 setState(5195);
36836 tableReferences();
36837 setState(5197);
36838 _errHandler.sync(this);
36839 _la = _input.LA(1);
36840 if (_la==LP_ || _la==WITH) {
36841 {
36842 setState(5196);
36843 withTableHint();
36844 }
36845 }
36846
36847 setState(5199);
36848 setAssignmentsClause();
36849 setState(5201);
36850 _errHandler.sync(this);
36851 _la = _input.LA(1);
36852 if (_la==OUTPUT) {
36853 {
36854 setState(5200);
36855 outputClause();
36856 }
36857 }
36858
36859 setState(5204);
36860 _errHandler.sync(this);
36861 _la = _input.LA(1);
36862 if (_la==WHERE) {
36863 {
36864 setState(5203);
36865 whereClause();
36866 }
36867 }
36868
36869 setState(5207);
36870 _errHandler.sync(this);
36871 _la = _input.LA(1);
36872 if (_la==OPTION) {
36873 {
36874 setState(5206);
36875 optionHint();
36876 }
36877 }
36878
36879 }
36880 }
36881 catch (RecognitionException re) {
36882 _localctx.exception = re;
36883 _errHandler.reportError(this, re);
36884 _errHandler.recover(this, re);
36885 }
36886 finally {
36887 exitRule();
36888 }
36889 return _localctx;
36890 }
36891
36892 public static class AssignmentContext extends ParserRuleContext {
36893 public ColumnNameContext columnName() {
36894 return getRuleContext(ColumnNameContext.class,0);
36895 }
36896 public AssignmentValueContext assignmentValue() {
36897 return getRuleContext(AssignmentValueContext.class,0);
36898 }
36899 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
36900 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
36901 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
36902 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
36903 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
36904 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
36905 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
36906 public AssignmentContext(ParserRuleContext parent, int invokingState) {
36907 super(parent, invokingState);
36908 }
36909 @Override public int getRuleIndex() { return RULE_assignment; }
36910 @Override
36911 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36912 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignment(this);
36913 else return visitor.visitChildren(this);
36914 }
36915 }
36916
36917 public final AssignmentContext assignment() throws RecognitionException {
36918 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
36919 enterRule(_localctx, 716, RULE_assignment);
36920 int _la;
36921 try {
36922 enterOuterAlt(_localctx, 1);
36923 {
36924 setState(5209);
36925 columnName();
36926 setState(5215);
36927 _errHandler.sync(this);
36928 switch (_input.LA(1)) {
36929 case MOD_:
36930 case PLUS_:
36931 case MINUS_:
36932 case ASTERISK_:
36933 case SLASH_:
36934 case EQ_:
36935 {
36936 setState(5211);
36937 _errHandler.sync(this);
36938 _la = _input.LA(1);
36939 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << MOD_) | (1L << PLUS_) | (1L << MINUS_) | (1L << ASTERISK_) | (1L << SLASH_))) != 0)) {
36940 {
36941 setState(5210);
36942 _la = _input.LA(1);
36943 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << MOD_) | (1L << PLUS_) | (1L << MINUS_) | (1L << ASTERISK_) | (1L << SLASH_))) != 0)) ) {
36944 _errHandler.recoverInline(this);
36945 }
36946 else {
36947 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36948 _errHandler.reportMatch(this);
36949 consume();
36950 }
36951 }
36952 }
36953
36954 setState(5213);
36955 match(EQ_);
36956 }
36957 break;
36958 case DOT_:
36959 {
36960 setState(5214);
36961 match(DOT_);
36962 }
36963 break;
36964 default:
36965 throw new NoViableAltException(this);
36966 }
36967 setState(5217);
36968 assignmentValue();
36969 }
36970 }
36971 catch (RecognitionException re) {
36972 _localctx.exception = re;
36973 _errHandler.reportError(this, re);
36974 _errHandler.recover(this, re);
36975 }
36976 finally {
36977 exitRule();
36978 }
36979 return _localctx;
36980 }
36981
36982 public static class SetAssignmentsClauseContext extends ParserRuleContext {
36983 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
36984 public List<AssignmentContext> assignment() {
36985 return getRuleContexts(AssignmentContext.class);
36986 }
36987 public AssignmentContext assignment(int i) {
36988 return getRuleContext(AssignmentContext.class,i);
36989 }
36990 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36991 public TerminalNode COMMA_(int i) {
36992 return getToken(SQLServerStatementParser.COMMA_, i);
36993 }
36994 public FromClauseContext fromClause() {
36995 return getRuleContext(FromClauseContext.class,0);
36996 }
36997 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
36998 super(parent, invokingState);
36999 }
37000 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
37001 @Override
37002 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37003 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
37004 else return visitor.visitChildren(this);
37005 }
37006 }
37007
37008 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
37009 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
37010 enterRule(_localctx, 718, RULE_setAssignmentsClause);
37011 int _la;
37012 try {
37013 enterOuterAlt(_localctx, 1);
37014 {
37015 setState(5219);
37016 match(SET);
37017 setState(5220);
37018 assignment();
37019 setState(5225);
37020 _errHandler.sync(this);
37021 _la = _input.LA(1);
37022 while (_la==COMMA_) {
37023 {
37024 {
37025 setState(5221);
37026 match(COMMA_);
37027 setState(5222);
37028 assignment();
37029 }
37030 }
37031 setState(5227);
37032 _errHandler.sync(this);
37033 _la = _input.LA(1);
37034 }
37035 setState(5229);
37036 _errHandler.sync(this);
37037 _la = _input.LA(1);
37038 if (_la==FROM) {
37039 {
37040 setState(5228);
37041 fromClause();
37042 }
37043 }
37044
37045 }
37046 }
37047 catch (RecognitionException re) {
37048 _localctx.exception = re;
37049 _errHandler.reportError(this, re);
37050 _errHandler.recover(this, re);
37051 }
37052 finally {
37053 exitRule();
37054 }
37055 return _localctx;
37056 }
37057
37058 public static class AssignmentValuesContext extends ParserRuleContext {
37059 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37060 public List<AssignmentValueContext> assignmentValue() {
37061 return getRuleContexts(AssignmentValueContext.class);
37062 }
37063 public AssignmentValueContext assignmentValue(int i) {
37064 return getRuleContext(AssignmentValueContext.class,i);
37065 }
37066 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37067 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37068 public TerminalNode COMMA_(int i) {
37069 return getToken(SQLServerStatementParser.COMMA_, i);
37070 }
37071 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
37072 super(parent, invokingState);
37073 }
37074 @Override public int getRuleIndex() { return RULE_assignmentValues; }
37075 @Override
37076 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37077 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
37078 else return visitor.visitChildren(this);
37079 }
37080 }
37081
37082 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
37083 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
37084 enterRule(_localctx, 720, RULE_assignmentValues);
37085 int _la;
37086 try {
37087 setState(5245);
37088 _errHandler.sync(this);
37089 switch ( getInterpreter().adaptivePredict(_input,577,_ctx) ) {
37090 case 1:
37091 enterOuterAlt(_localctx, 1);
37092 {
37093 setState(5231);
37094 match(LP_);
37095 setState(5232);
37096 assignmentValue();
37097 setState(5237);
37098 _errHandler.sync(this);
37099 _la = _input.LA(1);
37100 while (_la==COMMA_) {
37101 {
37102 {
37103 setState(5233);
37104 match(COMMA_);
37105 setState(5234);
37106 assignmentValue();
37107 }
37108 }
37109 setState(5239);
37110 _errHandler.sync(this);
37111 _la = _input.LA(1);
37112 }
37113 setState(5240);
37114 match(RP_);
37115 }
37116 break;
37117 case 2:
37118 enterOuterAlt(_localctx, 2);
37119 {
37120 setState(5242);
37121 assignmentValue();
37122 }
37123 break;
37124 case 3:
37125 enterOuterAlt(_localctx, 3);
37126 {
37127 setState(5243);
37128 match(LP_);
37129 setState(5244);
37130 match(RP_);
37131 }
37132 break;
37133 }
37134 }
37135 catch (RecognitionException re) {
37136 _localctx.exception = re;
37137 _errHandler.reportError(this, re);
37138 _errHandler.recover(this, re);
37139 }
37140 finally {
37141 exitRule();
37142 }
37143 return _localctx;
37144 }
37145
37146 public static class AssignmentValueContext extends ParserRuleContext {
37147 public ExprContext expr() {
37148 return getRuleContext(ExprContext.class,0);
37149 }
37150 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
37151 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
37152 super(parent, invokingState);
37153 }
37154 @Override public int getRuleIndex() { return RULE_assignmentValue; }
37155 @Override
37156 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37157 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
37158 else return visitor.visitChildren(this);
37159 }
37160 }
37161
37162 public final AssignmentValueContext assignmentValue() throws RecognitionException {
37163 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
37164 enterRule(_localctx, 722, RULE_assignmentValue);
37165 try {
37166 setState(5249);
37167 _errHandler.sync(this);
37168 switch (_input.LA(1)) {
37169 case NOT_:
37170 case TILDE_:
37171 case PLUS_:
37172 case MINUS_:
37173 case LP_:
37174 case LBE_:
37175 case LBT_:
37176 case QUESTION_:
37177 case DOLLAR_:
37178 case TRUNCATE:
37179 case SCHEMA:
37180 case COLUMNS:
37181 case PRECISION:
37182 case FUNCTION:
37183 case TRIGGER:
37184 case CASE:
37185 case CAST:
37186 case TRIM:
37187 case SUBSTRING:
37188 case RIGHT:
37189 case OFF:
37190 case IF:
37191 case NOT:
37192 case NULL:
37193 case TRUE:
37194 case FALSE:
37195 case EXISTS:
37196 case GROUP:
37197 case LIMIT:
37198 case OFFSET:
37199 case SAVEPOINT:
37200 case BOOLEAN:
37201 case CHAR:
37202 case ARRAY:
37203 case INTERVAL:
37204 case DATE:
37205 case TIME:
37206 case TIMESTAMP:
37207 case LOCALTIME:
37208 case LOCALTIMESTAMP:
37209 case YEAR:
37210 case QUARTER:
37211 case MONTH:
37212 case WEEK:
37213 case DAY:
37214 case SECOND:
37215 case MICROSECOND:
37216 case MAX:
37217 case MIN:
37218 case SUM:
37219 case COUNT:
37220 case AVG:
37221 case CURRENT:
37222 case ENABLE:
37223 case DISABLE:
37224 case INSTANCE:
37225 case DO:
37226 case DEFINER:
37227 case SQL:
37228 case CASCADED:
37229 case LOCAL:
37230 case NEXT:
37231 case NAME:
37232 case INTEGER:
37233 case TYPE:
37234 case TEXT:
37235 case VIEWS:
37236 case READ_ONLY:
37237 case DATABASE:
37238 case RETURNS:
37239 case DATEPART:
37240 case PASSWORD:
37241 case JSON_OBJECT:
37242 case JSON_ARRAY:
37243 case FIRST_VALUE:
37244 case LAST_VALUE:
37245 case APPROX_PERCENTILE_CONT:
37246 case APPROX_PERCENTILE_DISC:
37247 case OPENDATASOURCE:
37248 case BINARY:
37249 case HIDDEN_:
37250 case MOD:
37251 case PARTITION:
37252 case PARTITIONS:
37253 case TOP:
37254 case ROW:
37255 case ROWS:
37256 case XOR:
37257 case ALWAYS:
37258 case USER:
37259 case ROLE:
37260 case START:
37261 case ALGORITHM:
37262 case AUTO:
37263 case BLOCKERS:
37264 case CLUSTERED:
37265 case NONCLUSTERED:
37266 case COLUMNSTORE:
37267 case CONTENT:
37268 case CONVERT:
37269 case YEARS:
37270 case MONTHS:
37271 case WEEKS:
37272 case DAYS:
37273 case MINUTES:
37274 case DENY:
37275 case DETERMINISTIC:
37276 case DISTRIBUTION:
37277 case DOCUMENT:
37278 case DURABILITY:
37279 case ENCRYPTED:
37280 case FILESTREAM:
37281 case FILETABLE:
37282 case FILLFACTOR:
37283 case FOLLOWING:
37284 case HASH:
37285 case HEAP:
37286 case INBOUND:
37287 case OUTBOUND:
37288 case UNBOUNDED:
37289 case INFINITE:
37290 case LOGIN:
37291 case MASKED:
37292 case MAXDOP:
37293 case MOVE:
37294 case NOCHECK:
37295 case OBJECT:
37296 case ONLINE:
37297 case OVER:
37298 case PAGE:
37299 case PAUSED:
37300 case PERIOD:
37301 case PERSISTED:
37302 case PRECEDING:
37303 case RANDOMIZED:
37304 case RANGE:
37305 case REBUILD:
37306 case REPLICATE:
37307 case REPLICATION:
37308 case RESUMABLE:
37309 case ROWGUIDCOL:
37310 case SAVE:
37311 case SELF:
37312 case SPARSE:
37313 case SWITCH:
37314 case TRAN:
37315 case TRANCOUNT:
37316 case CONTROL:
37317 case CONCAT:
37318 case TAKE:
37319 case OWNERSHIP:
37320 case DEFINITION:
37321 case APPLICATION:
37322 case ASSEMBLY:
37323 case SYMMETRIC:
37324 case ASYMMETRIC:
37325 case SERVER:
37326 case RECEIVE:
37327 case CHANGE:
37328 case TRACE:
37329 case TRACKING:
37330 case RESOURCES:
37331 case SETTINGS:
37332 case STATE:
37333 case AVAILABILITY:
37334 case CREDENTIAL:
37335 case ENDPOINT:
37336 case EVENT:
37337 case NOTIFICATION:
37338 case LINKED:
37339 case AUDIT:
37340 case DDL:
37341 case XML:
37342 case IMPERSONATE:
37343 case SECURABLES:
37344 case AUTHENTICATE:
37345 case EXTERNAL:
37346 case ACCESS:
37347 case ADMINISTER:
37348 case BULK:
37349 case OPERATIONS:
37350 case UNSAFE:
37351 case SHUTDOWN:
37352 case SCOPED:
37353 case CONFIGURATION:
37354 case DATASPACE:
37355 case SERVICE:
37356 case CERTIFICATE:
37357 case CONTRACT:
37358 case ENCRYPTION:
37359 case MASTER:
37360 case DATA:
37361 case SOURCE:
37362 case FILE:
37363 case FORMAT:
37364 case LIBRARY:
37365 case FULLTEXT:
37366 case MASK:
37367 case UNMASK:
37368 case MESSAGE:
37369 case REMOTE:
37370 case BINDING:
37371 case ROUTE:
37372 case SECURITY:
37373 case POLICY:
37374 case AGGREGATE:
37375 case QUEUE:
37376 case RULE:
37377 case SYNONYM:
37378 case COLLECTION:
37379 case SCRIPT:
37380 case KILL:
37381 case BACKUP:
37382 case LOG:
37383 case SHOWPLAN:
37384 case SUBSCRIBE:
37385 case QUERY:
37386 case NOTIFICATIONS:
37387 case CHECKPOINT:
37388 case SEQUENCE:
37389 case ABORT_AFTER_WAIT:
37390 case ALLOW_PAGE_LOCKS:
37391 case ALLOW_ROW_LOCKS:
37392 case ALL_SPARSE_COLUMNS:
37393 case BUCKET_COUNT:
37394 case COLUMNSTORE_ARCHIVE:
37395 case COLUMN_ENCRYPTION_KEY:
37396 case COLUMN_SET:
37397 case COMPRESSION_DELAY:
37398 case DATABASE_DEAULT:
37399 case DATA_COMPRESSION:
37400 case DATA_CONSISTENCY_CHECK:
37401 case ENCRYPTION_TYPE:
37402 case SYSTEM_TIME:
37403 case SYSTEM_VERSIONING:
37404 case TEXTIMAGE_ON:
37405 case WAIT_AT_LOW_PRIORITY:
37406 case STATISTICS_INCREMENTAL:
37407 case STATISTICS_NORECOMPUTE:
37408 case ROUND_ROBIN:
37409 case SCHEMA_AND_DATA:
37410 case SCHEMA_ONLY:
37411 case SORT_IN_TEMPDB:
37412 case IGNORE_DUP_KEY:
37413 case IMPLICIT_TRANSACTIONS:
37414 case MAX_DURATION:
37415 case MEMORY_OPTIMIZED:
37416 case MIGRATION_STATE:
37417 case PAD_INDEX:
37418 case REMOTE_DATA_ARCHIVE:
37419 case FILESTREAM_ON:
37420 case FILETABLE_COLLATE_FILENAME:
37421 case FILETABLE_DIRECTORY:
37422 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
37423 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
37424 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
37425 case FILTER_PREDICATE:
37426 case HISTORY_RETENTION_PERIOD:
37427 case HISTORY_TABLE:
37428 case LOCK_ESCALATION:
37429 case DROP_EXISTING:
37430 case ROW_NUMBER:
37431 case FIRST:
37432 case DATETIME2:
37433 case OUTPUT:
37434 case INSERTED:
37435 case DELETED:
37436 case FILENAME:
37437 case SIZE:
37438 case MAXSIZE:
37439 case FILEGROWTH:
37440 case UNLIMITED:
37441 case KB:
37442 case MB:
37443 case GB:
37444 case TB:
37445 case CONTAINS:
37446 case MEMORY_OPTIMIZED_DATA:
37447 case FILEGROUP:
37448 case NON_TRANSACTED_ACCESS:
37449 case DB_CHAINING:
37450 case TRUSTWORTHY:
37451 case FORWARD_ONLY:
37452 case KEYSET:
37453 case FAST_FORWARD:
37454 case SCROLL_LOCKS:
37455 case OPTIMISTIC:
37456 case TYPE_WARNING:
37457 case SCHEMABINDING:
37458 case CALLER:
37459 case INPUT:
37460 case OWNER:
37461 case SNAPSHOT:
37462 case REPEATABLE:
37463 case SERIALIZABLE:
37464 case NATIVE_COMPILATION:
37465 case VIEW_METADATA:
37466 case INSTEAD:
37467 case APPEND:
37468 case INCREMENT:
37469 case CACHE:
37470 case MINVALUE:
37471 case MAXVALUE:
37472 case RESTART:
37473 case LOB_COMPACTION:
37474 case COMPRESS_ALL_ROW_GROUPS:
37475 case REORGANIZE:
37476 case RESUME:
37477 case PAUSE:
37478 case ABORT:
37479 case ACCELERATED_DATABASE_RECOVERY:
37480 case PERSISTENT_VERSION_STORE_FILEGROUP:
37481 case IMMEDIATE:
37482 case NO_WAIT:
37483 case TARGET_RECOVERY_TIME:
37484 case SECONDS:
37485 case HONOR_BROKER_PRIORITY:
37486 case ERROR_BROKER_CONVERSATIONS:
37487 case NEW_BROKER:
37488 case DISABLE_BROKER:
37489 case ENABLE_BROKER:
37490 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
37491 case READ_COMMITTED_SNAPSHOT:
37492 case ALLOW_SNAPSHOT_ISOLATION:
37493 case RECURSIVE_TRIGGERS:
37494 case QUOTED_IDENTIFIER:
37495 case NUMERIC_ROUNDABORT:
37496 case CONCAT_NULL_YIELDS_NULL:
37497 case COMPATIBILITY_LEVEL:
37498 case ARITHABORT:
37499 case ANSI_WARNINGS:
37500 case ANSI_PADDING:
37501 case ANSI_NULLS:
37502 case ANSI_NULL_DEFAULT:
37503 case PAGE_VERIFY:
37504 case CHECKSUM:
37505 case TORN_PAGE_DETECTION:
37506 case BULK_LOGGED:
37507 case RECOVERY:
37508 case TOTAL_EXECUTION_CPU_TIME_MS:
37509 case TOTAL_COMPILE_CPU_TIME_MS:
37510 case STALE_CAPTURE_POLICY_THRESHOLD:
37511 case EXECUTION_COUNT:
37512 case QUERY_CAPTURE_POLICY:
37513 case WAIT_STATS_CAPTURE_MODE:
37514 case MAX_PLANS_PER_QUERY:
37515 case QUERY_CAPTURE_MODE:
37516 case SIZE_BASED_CLEANUP_MODE:
37517 case INTERVAL_LENGTH_MINUTES:
37518 case MAX_STORAGE_SIZE_MB:
37519 case DATA_FLUSH_INTERVAL_SECONDS:
37520 case CLEANUP_POLICY:
37521 case CUSTOM:
37522 case STALE_QUERY_THRESHOLD_DAYS:
37523 case OPERATION_MODE:
37524 case QUERY_STORE:
37525 case CURSOR_DEFAULT:
37526 case GLOBAL:
37527 case CURSOR_CLOSE_ON_COMMIT:
37528 case HOURS:
37529 case CHANGE_RETENTION:
37530 case AUTO_CLEANUP:
37531 case CHANGE_TRACKING:
37532 case AUTOMATIC_TUNING:
37533 case FORCE_LAST_GOOD_PLAN:
37534 case AUTO_UPDATE_STATISTICS_ASYNC:
37535 case AUTO_UPDATE_STATISTICS:
37536 case AUTO_SHRINK:
37537 case AUTO_CREATE_STATISTICS:
37538 case INCREMENTAL:
37539 case AUTO_CLOSE:
37540 case DATA_RETENTION:
37541 case TEMPORAL_HISTORY_RETENTION:
37542 case EDITION:
37543 case MIXED_PAGE_ALLOCATION:
37544 case DISABLED:
37545 case ALLOWED:
37546 case HADR:
37547 case MULTI_USER:
37548 case RESTRICTED_USER:
37549 case SINGLE_USER:
37550 case OFFLINE:
37551 case EMERGENCY:
37552 case SUSPEND:
37553 case DATE_CORRELATION_OPTIMIZATION:
37554 case ELASTIC_POOL:
37555 case SERVICE_OBJECTIVE:
37556 case DATABASE_NAME:
37557 case ALLOW_CONNECTIONS:
37558 case GEO:
37559 case NAMED:
37560 case DATEFIRST:
37561 case BACKUP_STORAGE_REDUNDANCY:
37562 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
37563 case SECONDARY:
37564 case FAILOVER:
37565 case DEFAULT_FULLTEXT_LANGUAGE:
37566 case DEFAULT_LANGUAGE:
37567 case INLINE:
37568 case NESTED_TRIGGERS:
37569 case TRANSFORM_NOISE_WORDS:
37570 case TWO_DIGIT_YEAR_CUTOFF:
37571 case PERSISTENT_LOG_BUFFER:
37572 case DIRECTORY_NAME:
37573 case DATEFORMAT:
37574 case DELAYED_DURABILITY:
37575 case AUTHORIZATION:
37576 case TRANSFER:
37577 case PROVIDER:
37578 case SID:
37579 case SEARCH:
37580 case MEMBER:
37581 case JSON:
37582 case OPENJSON:
37583 case OPENROWSET:
37584 case TRY_CAST:
37585 case TRY_CONVERT:
37586 case IDENTIFIER_:
37587 case DELIMITED_IDENTIFIER_:
37588 case STRING_:
37589 case NUMBER_:
37590 case HEX_DIGIT_:
37591 case BIT_NUM_:
37592 case NCHAR_TEXT:
37593 enterOuterAlt(_localctx, 1);
37594 {
37595 setState(5247);
37596 expr(0);
37597 }
37598 break;
37599 case DEFAULT:
37600 enterOuterAlt(_localctx, 2);
37601 {
37602 setState(5248);
37603 match(DEFAULT);
37604 }
37605 break;
37606 default:
37607 throw new NoViableAltException(this);
37608 }
37609 }
37610 catch (RecognitionException re) {
37611 _localctx.exception = re;
37612 _errHandler.reportError(this, re);
37613 _errHandler.recover(this, re);
37614 }
37615 finally {
37616 exitRule();
37617 }
37618 return _localctx;
37619 }
37620
37621 public static class DeleteContext extends ParserRuleContext {
37622 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
37623 public SingleTableClauseContext singleTableClause() {
37624 return getRuleContext(SingleTableClauseContext.class,0);
37625 }
37626 public MultipleTablesClauseContext multipleTablesClause() {
37627 return getRuleContext(MultipleTablesClauseContext.class,0);
37628 }
37629 public WithClauseContext withClause() {
37630 return getRuleContext(WithClauseContext.class,0);
37631 }
37632 public TopContext top() {
37633 return getRuleContext(TopContext.class,0);
37634 }
37635 public OutputClauseContext outputClause() {
37636 return getRuleContext(OutputClauseContext.class,0);
37637 }
37638 public WhereClauseContext whereClause() {
37639 return getRuleContext(WhereClauseContext.class,0);
37640 }
37641 public OptionHintContext optionHint() {
37642 return getRuleContext(OptionHintContext.class,0);
37643 }
37644 public DeleteContext(ParserRuleContext parent, int invokingState) {
37645 super(parent, invokingState);
37646 }
37647 @Override public int getRuleIndex() { return RULE_delete; }
37648 @Override
37649 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37650 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelete(this);
37651 else return visitor.visitChildren(this);
37652 }
37653 }
37654
37655 public final DeleteContext delete() throws RecognitionException {
37656 DeleteContext _localctx = new DeleteContext(_ctx, getState());
37657 enterRule(_localctx, 724, RULE_delete);
37658 int _la;
37659 try {
37660 enterOuterAlt(_localctx, 1);
37661 {
37662 setState(5252);
37663 _errHandler.sync(this);
37664 _la = _input.LA(1);
37665 if (_la==WITH) {
37666 {
37667 setState(5251);
37668 withClause();
37669 }
37670 }
37671
37672 setState(5254);
37673 match(DELETE);
37674 setState(5256);
37675 _errHandler.sync(this);
37676 switch ( getInterpreter().adaptivePredict(_input,580,_ctx) ) {
37677 case 1:
37678 {
37679 setState(5255);
37680 top();
37681 }
37682 break;
37683 }
37684 setState(5260);
37685 _errHandler.sync(this);
37686 switch ( getInterpreter().adaptivePredict(_input,581,_ctx) ) {
37687 case 1:
37688 {
37689 setState(5258);
37690 singleTableClause();
37691 }
37692 break;
37693 case 2:
37694 {
37695 setState(5259);
37696 multipleTablesClause();
37697 }
37698 break;
37699 }
37700 setState(5263);
37701 _errHandler.sync(this);
37702 _la = _input.LA(1);
37703 if (_la==OUTPUT) {
37704 {
37705 setState(5262);
37706 outputClause();
37707 }
37708 }
37709
37710 setState(5266);
37711 _errHandler.sync(this);
37712 _la = _input.LA(1);
37713 if (_la==WHERE) {
37714 {
37715 setState(5265);
37716 whereClause();
37717 }
37718 }
37719
37720 setState(5269);
37721 _errHandler.sync(this);
37722 _la = _input.LA(1);
37723 if (_la==OPTION) {
37724 {
37725 setState(5268);
37726 optionHint();
37727 }
37728 }
37729
37730 }
37731 }
37732 catch (RecognitionException re) {
37733 _localctx.exception = re;
37734 _errHandler.reportError(this, re);
37735 _errHandler.recover(this, re);
37736 }
37737 finally {
37738 exitRule();
37739 }
37740 return _localctx;
37741 }
37742
37743 public static class OptionHintContext extends ParserRuleContext {
37744 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
37745 public QueryHintContext queryHint() {
37746 return getRuleContext(QueryHintContext.class,0);
37747 }
37748 public OptionHintContext(ParserRuleContext parent, int invokingState) {
37749 super(parent, invokingState);
37750 }
37751 @Override public int getRuleIndex() { return RULE_optionHint; }
37752 @Override
37753 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37754 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionHint(this);
37755 else return visitor.visitChildren(this);
37756 }
37757 }
37758
37759 public final OptionHintContext optionHint() throws RecognitionException {
37760 OptionHintContext _localctx = new OptionHintContext(_ctx, getState());
37761 enterRule(_localctx, 726, RULE_optionHint);
37762 try {
37763 enterOuterAlt(_localctx, 1);
37764 {
37765 setState(5271);
37766 match(OPTION);
37767 setState(5272);
37768 queryHint();
37769 }
37770 }
37771 catch (RecognitionException re) {
37772 _localctx.exception = re;
37773 _errHandler.reportError(this, re);
37774 _errHandler.recover(this, re);
37775 }
37776 finally {
37777 exitRule();
37778 }
37779 return _localctx;
37780 }
37781
37782 public static class SingleTableClauseContext extends ParserRuleContext {
37783 public TableNameContext tableName() {
37784 return getRuleContext(TableNameContext.class,0);
37785 }
37786 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
37787 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37788 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37789 public AliasContext alias() {
37790 return getRuleContext(AliasContext.class,0);
37791 }
37792 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37793 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
37794 super(parent, invokingState);
37795 }
37796 @Override public int getRuleIndex() { return RULE_singleTableClause; }
37797 @Override
37798 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37799 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
37800 else return visitor.visitChildren(this);
37801 }
37802 }
37803
37804 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
37805 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
37806 enterRule(_localctx, 728, RULE_singleTableClause);
37807 int _la;
37808 try {
37809 enterOuterAlt(_localctx, 1);
37810 {
37811 setState(5275);
37812 _errHandler.sync(this);
37813 _la = _input.LA(1);
37814 if (_la==FROM) {
37815 {
37816 setState(5274);
37817 match(FROM);
37818 }
37819 }
37820
37821 setState(5278);
37822 _errHandler.sync(this);
37823 _la = _input.LA(1);
37824 if (_la==LP_) {
37825 {
37826 setState(5277);
37827 match(LP_);
37828 }
37829 }
37830
37831 setState(5280);
37832 tableName();
37833 setState(5282);
37834 _errHandler.sync(this);
37835 _la = _input.LA(1);
37836 if (_la==RP_) {
37837 {
37838 setState(5281);
37839 match(RP_);
37840 }
37841 }
37842
37843 setState(5288);
37844 _errHandler.sync(this);
37845 switch ( getInterpreter().adaptivePredict(_input,589,_ctx) ) {
37846 case 1:
37847 {
37848 setState(5285);
37849 _errHandler.sync(this);
37850 _la = _input.LA(1);
37851 if (_la==AS) {
37852 {
37853 setState(5284);
37854 match(AS);
37855 }
37856 }
37857
37858 setState(5287);
37859 alias();
37860 }
37861 break;
37862 }
37863 }
37864 }
37865 catch (RecognitionException re) {
37866 _localctx.exception = re;
37867 _errHandler.reportError(this, re);
37868 _errHandler.recover(this, re);
37869 }
37870 finally {
37871 exitRule();
37872 }
37873 return _localctx;
37874 }
37875
37876 public static class MultipleTablesClauseContext extends ParserRuleContext {
37877 public MultipleTableNamesContext multipleTableNames() {
37878 return getRuleContext(MultipleTableNamesContext.class,0);
37879 }
37880 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
37881 public TableReferencesContext tableReferences() {
37882 return getRuleContext(TableReferencesContext.class,0);
37883 }
37884 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
37885 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
37886 super(parent, invokingState);
37887 }
37888 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
37889 @Override
37890 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37891 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
37892 else return visitor.visitChildren(this);
37893 }
37894 }
37895
37896 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
37897 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
37898 enterRule(_localctx, 730, RULE_multipleTablesClause);
37899 try {
37900 setState(5299);
37901 _errHandler.sync(this);
37902 switch (_input.LA(1)) {
37903 case DOT_:
37904 case TRUNCATE:
37905 case SCHEMA:
37906 case COLUMNS:
37907 case PRECISION:
37908 case FUNCTION:
37909 case TRIGGER:
37910 case CAST:
37911 case TRIM:
37912 case SUBSTRING:
37913 case RIGHT:
37914 case OFF:
37915 case GROUP:
37916 case LIMIT:
37917 case OFFSET:
37918 case SAVEPOINT:
37919 case BOOLEAN:
37920 case ARRAY:
37921 case DATE:
37922 case TIMESTAMP:
37923 case LOCALTIME:
37924 case LOCALTIMESTAMP:
37925 case YEAR:
37926 case QUARTER:
37927 case MONTH:
37928 case WEEK:
37929 case DAY:
37930 case SECOND:
37931 case MICROSECOND:
37932 case MAX:
37933 case MIN:
37934 case SUM:
37935 case COUNT:
37936 case AVG:
37937 case ENABLE:
37938 case DISABLE:
37939 case INSTANCE:
37940 case DO:
37941 case DEFINER:
37942 case SQL:
37943 case CASCADED:
37944 case LOCAL:
37945 case NEXT:
37946 case NAME:
37947 case INTEGER:
37948 case TYPE:
37949 case TEXT:
37950 case VIEWS:
37951 case READ_ONLY:
37952 case DATABASE:
37953 case RETURNS:
37954 case DATEPART:
37955 case PASSWORD:
37956 case BINARY:
37957 case HIDDEN_:
37958 case MOD:
37959 case PARTITION:
37960 case PARTITIONS:
37961 case TOP:
37962 case ROW:
37963 case ROWS:
37964 case XOR:
37965 case ALWAYS:
37966 case USER:
37967 case ROLE:
37968 case START:
37969 case ALGORITHM:
37970 case AUTO:
37971 case BLOCKERS:
37972 case CLUSTERED:
37973 case NONCLUSTERED:
37974 case COLUMNSTORE:
37975 case CONTENT:
37976 case YEARS:
37977 case MONTHS:
37978 case WEEKS:
37979 case DAYS:
37980 case MINUTES:
37981 case DENY:
37982 case DETERMINISTIC:
37983 case DISTRIBUTION:
37984 case DOCUMENT:
37985 case DURABILITY:
37986 case ENCRYPTED:
37987 case FILESTREAM:
37988 case FILETABLE:
37989 case FILLFACTOR:
37990 case FOLLOWING:
37991 case HASH:
37992 case HEAP:
37993 case INBOUND:
37994 case OUTBOUND:
37995 case UNBOUNDED:
37996 case INFINITE:
37997 case LOGIN:
37998 case MASKED:
37999 case MAXDOP:
38000 case MOVE:
38001 case NOCHECK:
38002 case OBJECT:
38003 case ONLINE:
38004 case OVER:
38005 case PAGE:
38006 case PAUSED:
38007 case PERIOD:
38008 case PERSISTED:
38009 case PRECEDING:
38010 case RANDOMIZED:
38011 case RANGE:
38012 case REBUILD:
38013 case REPLICATE:
38014 case REPLICATION:
38015 case RESUMABLE:
38016 case ROWGUIDCOL:
38017 case SAVE:
38018 case SELF:
38019 case SPARSE:
38020 case SWITCH:
38021 case TRAN:
38022 case TRANCOUNT:
38023 case CONTROL:
38024 case CONCAT:
38025 case TAKE:
38026 case OWNERSHIP:
38027 case DEFINITION:
38028 case APPLICATION:
38029 case ASSEMBLY:
38030 case SYMMETRIC:
38031 case ASYMMETRIC:
38032 case SERVER:
38033 case RECEIVE:
38034 case CHANGE:
38035 case TRACE:
38036 case TRACKING:
38037 case RESOURCES:
38038 case SETTINGS:
38039 case STATE:
38040 case AVAILABILITY:
38041 case CREDENTIAL:
38042 case ENDPOINT:
38043 case EVENT:
38044 case NOTIFICATION:
38045 case LINKED:
38046 case AUDIT:
38047 case DDL:
38048 case XML:
38049 case IMPERSONATE:
38050 case SECURABLES:
38051 case AUTHENTICATE:
38052 case EXTERNAL:
38053 case ACCESS:
38054 case ADMINISTER:
38055 case BULK:
38056 case OPERATIONS:
38057 case UNSAFE:
38058 case SHUTDOWN:
38059 case SCOPED:
38060 case CONFIGURATION:
38061 case DATASPACE:
38062 case SERVICE:
38063 case CERTIFICATE:
38064 case CONTRACT:
38065 case ENCRYPTION:
38066 case MASTER:
38067 case DATA:
38068 case SOURCE:
38069 case FILE:
38070 case FORMAT:
38071 case LIBRARY:
38072 case FULLTEXT:
38073 case MASK:
38074 case UNMASK:
38075 case MESSAGE:
38076 case REMOTE:
38077 case BINDING:
38078 case ROUTE:
38079 case SECURITY:
38080 case POLICY:
38081 case AGGREGATE:
38082 case QUEUE:
38083 case RULE:
38084 case SYNONYM:
38085 case COLLECTION:
38086 case SCRIPT:
38087 case KILL:
38088 case BACKUP:
38089 case LOG:
38090 case SHOWPLAN:
38091 case SUBSCRIBE:
38092 case QUERY:
38093 case NOTIFICATIONS:
38094 case CHECKPOINT:
38095 case SEQUENCE:
38096 case ABORT_AFTER_WAIT:
38097 case ALLOW_PAGE_LOCKS:
38098 case ALLOW_ROW_LOCKS:
38099 case ALL_SPARSE_COLUMNS:
38100 case BUCKET_COUNT:
38101 case COLUMNSTORE_ARCHIVE:
38102 case COLUMN_ENCRYPTION_KEY:
38103 case COLUMN_SET:
38104 case COMPRESSION_DELAY:
38105 case DATABASE_DEAULT:
38106 case DATA_COMPRESSION:
38107 case DATA_CONSISTENCY_CHECK:
38108 case ENCRYPTION_TYPE:
38109 case SYSTEM_TIME:
38110 case SYSTEM_VERSIONING:
38111 case TEXTIMAGE_ON:
38112 case WAIT_AT_LOW_PRIORITY:
38113 case STATISTICS_INCREMENTAL:
38114 case STATISTICS_NORECOMPUTE:
38115 case ROUND_ROBIN:
38116 case SCHEMA_AND_DATA:
38117 case SCHEMA_ONLY:
38118 case SORT_IN_TEMPDB:
38119 case IGNORE_DUP_KEY:
38120 case IMPLICIT_TRANSACTIONS:
38121 case MAX_DURATION:
38122 case MEMORY_OPTIMIZED:
38123 case MIGRATION_STATE:
38124 case PAD_INDEX:
38125 case REMOTE_DATA_ARCHIVE:
38126 case FILESTREAM_ON:
38127 case FILETABLE_COLLATE_FILENAME:
38128 case FILETABLE_DIRECTORY:
38129 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
38130 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
38131 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
38132 case FILTER_PREDICATE:
38133 case HISTORY_RETENTION_PERIOD:
38134 case HISTORY_TABLE:
38135 case LOCK_ESCALATION:
38136 case DROP_EXISTING:
38137 case ROW_NUMBER:
38138 case FIRST:
38139 case DATETIME2:
38140 case OUTPUT:
38141 case INSERTED:
38142 case DELETED:
38143 case FILENAME:
38144 case SIZE:
38145 case MAXSIZE:
38146 case FILEGROWTH:
38147 case UNLIMITED:
38148 case KB:
38149 case MB:
38150 case GB:
38151 case TB:
38152 case CONTAINS:
38153 case MEMORY_OPTIMIZED_DATA:
38154 case FILEGROUP:
38155 case NON_TRANSACTED_ACCESS:
38156 case DB_CHAINING:
38157 case TRUSTWORTHY:
38158 case FORWARD_ONLY:
38159 case KEYSET:
38160 case FAST_FORWARD:
38161 case SCROLL_LOCKS:
38162 case OPTIMISTIC:
38163 case TYPE_WARNING:
38164 case SCHEMABINDING:
38165 case CALLER:
38166 case INPUT:
38167 case OWNER:
38168 case SNAPSHOT:
38169 case REPEATABLE:
38170 case SERIALIZABLE:
38171 case NATIVE_COMPILATION:
38172 case VIEW_METADATA:
38173 case INSTEAD:
38174 case APPEND:
38175 case INCREMENT:
38176 case CACHE:
38177 case MINVALUE:
38178 case MAXVALUE:
38179 case RESTART:
38180 case LOB_COMPACTION:
38181 case COMPRESS_ALL_ROW_GROUPS:
38182 case REORGANIZE:
38183 case RESUME:
38184 case PAUSE:
38185 case ABORT:
38186 case ACCELERATED_DATABASE_RECOVERY:
38187 case PERSISTENT_VERSION_STORE_FILEGROUP:
38188 case IMMEDIATE:
38189 case NO_WAIT:
38190 case TARGET_RECOVERY_TIME:
38191 case SECONDS:
38192 case HONOR_BROKER_PRIORITY:
38193 case ERROR_BROKER_CONVERSATIONS:
38194 case NEW_BROKER:
38195 case DISABLE_BROKER:
38196 case ENABLE_BROKER:
38197 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
38198 case READ_COMMITTED_SNAPSHOT:
38199 case ALLOW_SNAPSHOT_ISOLATION:
38200 case RECURSIVE_TRIGGERS:
38201 case QUOTED_IDENTIFIER:
38202 case NUMERIC_ROUNDABORT:
38203 case CONCAT_NULL_YIELDS_NULL:
38204 case COMPATIBILITY_LEVEL:
38205 case ARITHABORT:
38206 case ANSI_WARNINGS:
38207 case ANSI_PADDING:
38208 case ANSI_NULLS:
38209 case ANSI_NULL_DEFAULT:
38210 case PAGE_VERIFY:
38211 case CHECKSUM:
38212 case TORN_PAGE_DETECTION:
38213 case BULK_LOGGED:
38214 case RECOVERY:
38215 case TOTAL_EXECUTION_CPU_TIME_MS:
38216 case TOTAL_COMPILE_CPU_TIME_MS:
38217 case STALE_CAPTURE_POLICY_THRESHOLD:
38218 case EXECUTION_COUNT:
38219 case QUERY_CAPTURE_POLICY:
38220 case WAIT_STATS_CAPTURE_MODE:
38221 case MAX_PLANS_PER_QUERY:
38222 case QUERY_CAPTURE_MODE:
38223 case SIZE_BASED_CLEANUP_MODE:
38224 case INTERVAL_LENGTH_MINUTES:
38225 case MAX_STORAGE_SIZE_MB:
38226 case DATA_FLUSH_INTERVAL_SECONDS:
38227 case CLEANUP_POLICY:
38228 case CUSTOM:
38229 case STALE_QUERY_THRESHOLD_DAYS:
38230 case OPERATION_MODE:
38231 case QUERY_STORE:
38232 case CURSOR_DEFAULT:
38233 case GLOBAL:
38234 case CURSOR_CLOSE_ON_COMMIT:
38235 case HOURS:
38236 case CHANGE_RETENTION:
38237 case AUTO_CLEANUP:
38238 case CHANGE_TRACKING:
38239 case AUTOMATIC_TUNING:
38240 case FORCE_LAST_GOOD_PLAN:
38241 case AUTO_UPDATE_STATISTICS_ASYNC:
38242 case AUTO_UPDATE_STATISTICS:
38243 case AUTO_SHRINK:
38244 case AUTO_CREATE_STATISTICS:
38245 case INCREMENTAL:
38246 case AUTO_CLOSE:
38247 case DATA_RETENTION:
38248 case TEMPORAL_HISTORY_RETENTION:
38249 case EDITION:
38250 case MIXED_PAGE_ALLOCATION:
38251 case DISABLED:
38252 case ALLOWED:
38253 case HADR:
38254 case MULTI_USER:
38255 case RESTRICTED_USER:
38256 case SINGLE_USER:
38257 case OFFLINE:
38258 case EMERGENCY:
38259 case SUSPEND:
38260 case DATE_CORRELATION_OPTIMIZATION:
38261 case ELASTIC_POOL:
38262 case SERVICE_OBJECTIVE:
38263 case DATABASE_NAME:
38264 case ALLOW_CONNECTIONS:
38265 case GEO:
38266 case NAMED:
38267 case DATEFIRST:
38268 case BACKUP_STORAGE_REDUNDANCY:
38269 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
38270 case SECONDARY:
38271 case FAILOVER:
38272 case DEFAULT_FULLTEXT_LANGUAGE:
38273 case DEFAULT_LANGUAGE:
38274 case INLINE:
38275 case NESTED_TRIGGERS:
38276 case TRANSFORM_NOISE_WORDS:
38277 case TWO_DIGIT_YEAR_CUTOFF:
38278 case PERSISTENT_LOG_BUFFER:
38279 case DIRECTORY_NAME:
38280 case DATEFORMAT:
38281 case DELAYED_DURABILITY:
38282 case AUTHORIZATION:
38283 case TRANSFER:
38284 case PROVIDER:
38285 case SID:
38286 case SEARCH:
38287 case MEMBER:
38288 case JSON:
38289 case IDENTIFIER_:
38290 case DELIMITED_IDENTIFIER_:
38291 enterOuterAlt(_localctx, 1);
38292 {
38293 setState(5290);
38294 multipleTableNames();
38295 setState(5291);
38296 match(FROM);
38297 setState(5292);
38298 tableReferences();
38299 }
38300 break;
38301 case FROM:
38302 enterOuterAlt(_localctx, 2);
38303 {
38304 setState(5294);
38305 match(FROM);
38306 setState(5295);
38307 multipleTableNames();
38308 setState(5296);
38309 match(USING);
38310 setState(5297);
38311 tableReferences();
38312 }
38313 break;
38314 default:
38315 throw new NoViableAltException(this);
38316 }
38317 }
38318 catch (RecognitionException re) {
38319 _localctx.exception = re;
38320 _errHandler.reportError(this, re);
38321 _errHandler.recover(this, re);
38322 }
38323 finally {
38324 exitRule();
38325 }
38326 return _localctx;
38327 }
38328
38329 public static class MultipleTableNamesContext extends ParserRuleContext {
38330 public List<TableNameContext> tableName() {
38331 return getRuleContexts(TableNameContext.class);
38332 }
38333 public TableNameContext tableName(int i) {
38334 return getRuleContext(TableNameContext.class,i);
38335 }
38336 public List<TerminalNode> DOT_ASTERISK_() { return getTokens(SQLServerStatementParser.DOT_ASTERISK_); }
38337 public TerminalNode DOT_ASTERISK_(int i) {
38338 return getToken(SQLServerStatementParser.DOT_ASTERISK_, i);
38339 }
38340 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38341 public TerminalNode COMMA_(int i) {
38342 return getToken(SQLServerStatementParser.COMMA_, i);
38343 }
38344 public MultipleTableNamesContext(ParserRuleContext parent, int invokingState) {
38345 super(parent, invokingState);
38346 }
38347 @Override public int getRuleIndex() { return RULE_multipleTableNames; }
38348 @Override
38349 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38350 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTableNames(this);
38351 else return visitor.visitChildren(this);
38352 }
38353 }
38354
38355 public final MultipleTableNamesContext multipleTableNames() throws RecognitionException {
38356 MultipleTableNamesContext _localctx = new MultipleTableNamesContext(_ctx, getState());
38357 enterRule(_localctx, 732, RULE_multipleTableNames);
38358 int _la;
38359 try {
38360 enterOuterAlt(_localctx, 1);
38361 {
38362 setState(5301);
38363 tableName();
38364 setState(5303);
38365 _errHandler.sync(this);
38366 _la = _input.LA(1);
38367 if (_la==DOT_ASTERISK_) {
38368 {
38369 setState(5302);
38370 match(DOT_ASTERISK_);
38371 }
38372 }
38373
38374 setState(5312);
38375 _errHandler.sync(this);
38376 _la = _input.LA(1);
38377 while (_la==COMMA_) {
38378 {
38379 {
38380 setState(5305);
38381 match(COMMA_);
38382 setState(5306);
38383 tableName();
38384 setState(5308);
38385 _errHandler.sync(this);
38386 _la = _input.LA(1);
38387 if (_la==DOT_ASTERISK_) {
38388 {
38389 setState(5307);
38390 match(DOT_ASTERISK_);
38391 }
38392 }
38393
38394 }
38395 }
38396 setState(5314);
38397 _errHandler.sync(this);
38398 _la = _input.LA(1);
38399 }
38400 }
38401 }
38402 catch (RecognitionException re) {
38403 _localctx.exception = re;
38404 _errHandler.reportError(this, re);
38405 _errHandler.recover(this, re);
38406 }
38407 finally {
38408 exitRule();
38409 }
38410 return _localctx;
38411 }
38412
38413 public static class SelectContext extends ParserRuleContext {
38414 public AggregationClauseContext aggregationClause() {
38415 return getRuleContext(AggregationClauseContext.class,0);
38416 }
38417 public SelectContext(ParserRuleContext parent, int invokingState) {
38418 super(parent, invokingState);
38419 }
38420 @Override public int getRuleIndex() { return RULE_select; }
38421 @Override
38422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38423 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelect(this);
38424 else return visitor.visitChildren(this);
38425 }
38426 }
38427
38428 public final SelectContext select() throws RecognitionException {
38429 SelectContext _localctx = new SelectContext(_ctx, getState());
38430 enterRule(_localctx, 734, RULE_select);
38431 try {
38432 enterOuterAlt(_localctx, 1);
38433 {
38434 setState(5315);
38435 aggregationClause();
38436 }
38437 }
38438 catch (RecognitionException re) {
38439 _localctx.exception = re;
38440 _errHandler.reportError(this, re);
38441 _errHandler.recover(this, re);
38442 }
38443 finally {
38444 exitRule();
38445 }
38446 return _localctx;
38447 }
38448
38449 public static class AggregationClauseContext extends ParserRuleContext {
38450 public List<SelectClauseContext> selectClause() {
38451 return getRuleContexts(SelectClauseContext.class);
38452 }
38453 public SelectClauseContext selectClause(int i) {
38454 return getRuleContext(SelectClauseContext.class,i);
38455 }
38456 public List<TerminalNode> UNION() { return getTokens(SQLServerStatementParser.UNION); }
38457 public TerminalNode UNION(int i) {
38458 return getToken(SQLServerStatementParser.UNION, i);
38459 }
38460 public List<TerminalNode> EXCEPT() { return getTokens(SQLServerStatementParser.EXCEPT); }
38461 public TerminalNode EXCEPT(int i) {
38462 return getToken(SQLServerStatementParser.EXCEPT, i);
38463 }
38464 public List<TerminalNode> INTERSECT() { return getTokens(SQLServerStatementParser.INTERSECT); }
38465 public TerminalNode INTERSECT(int i) {
38466 return getToken(SQLServerStatementParser.INTERSECT, i);
38467 }
38468 public List<TerminalNode> ALL() { return getTokens(SQLServerStatementParser.ALL); }
38469 public TerminalNode ALL(int i) {
38470 return getToken(SQLServerStatementParser.ALL, i);
38471 }
38472 public AggregationClauseContext(ParserRuleContext parent, int invokingState) {
38473 super(parent, invokingState);
38474 }
38475 @Override public int getRuleIndex() { return RULE_aggregationClause; }
38476 @Override
38477 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38478 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationClause(this);
38479 else return visitor.visitChildren(this);
38480 }
38481 }
38482
38483 public final AggregationClauseContext aggregationClause() throws RecognitionException {
38484 AggregationClauseContext _localctx = new AggregationClauseContext(_ctx, getState());
38485 enterRule(_localctx, 736, RULE_aggregationClause);
38486 int _la;
38487 try {
38488 enterOuterAlt(_localctx, 1);
38489 {
38490 setState(5317);
38491 selectClause();
38492 setState(5329);
38493 _errHandler.sync(this);
38494 _la = _input.LA(1);
38495 while (_la==UNION || _la==EXCEPT || _la==INTERSECT) {
38496 {
38497 {
38498 setState(5324);
38499 _errHandler.sync(this);
38500 switch (_input.LA(1)) {
38501 case UNION:
38502 {
38503 setState(5318);
38504 match(UNION);
38505 setState(5320);
38506 _errHandler.sync(this);
38507 _la = _input.LA(1);
38508 if (_la==ALL) {
38509 {
38510 setState(5319);
38511 match(ALL);
38512 }
38513 }
38514
38515 }
38516 break;
38517 case EXCEPT:
38518 {
38519 setState(5322);
38520 match(EXCEPT);
38521 }
38522 break;
38523 case INTERSECT:
38524 {
38525 setState(5323);
38526 match(INTERSECT);
38527 }
38528 break;
38529 default:
38530 throw new NoViableAltException(this);
38531 }
38532 setState(5326);
38533 selectClause();
38534 }
38535 }
38536 setState(5331);
38537 _errHandler.sync(this);
38538 _la = _input.LA(1);
38539 }
38540 }
38541 }
38542 catch (RecognitionException re) {
38543 _localctx.exception = re;
38544 _errHandler.reportError(this, re);
38545 _errHandler.recover(this, re);
38546 }
38547 finally {
38548 exitRule();
38549 }
38550 return _localctx;
38551 }
38552
38553 public static class SelectClauseContext extends ParserRuleContext {
38554 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
38555 public ProjectionsContext projections() {
38556 return getRuleContext(ProjectionsContext.class,0);
38557 }
38558 public SelectWithClauseContext selectWithClause() {
38559 return getRuleContext(SelectWithClauseContext.class,0);
38560 }
38561 public DuplicateSpecificationContext duplicateSpecification() {
38562 return getRuleContext(DuplicateSpecificationContext.class,0);
38563 }
38564 public IntoClauseContext intoClause() {
38565 return getRuleContext(IntoClauseContext.class,0);
38566 }
38567 public FromClauseContext fromClause() {
38568 return getRuleContext(FromClauseContext.class,0);
38569 }
38570 public WhereClauseContext whereClause() {
38571 return getRuleContext(WhereClauseContext.class,0);
38572 }
38573 public GroupByClauseContext groupByClause() {
38574 return getRuleContext(GroupByClauseContext.class,0);
38575 }
38576 public HavingClauseContext havingClause() {
38577 return getRuleContext(HavingClauseContext.class,0);
38578 }
38579 public OrderByClauseContext orderByClause() {
38580 return getRuleContext(OrderByClauseContext.class,0);
38581 }
38582 public ForClauseContext forClause() {
38583 return getRuleContext(ForClauseContext.class,0);
38584 }
38585 public WithTempTableContext withTempTable() {
38586 return getRuleContext(WithTempTableContext.class,0);
38587 }
38588 public WithTableHintContext withTableHint() {
38589 return getRuleContext(WithTableHintContext.class,0);
38590 }
38591 public SelectClauseContext(ParserRuleContext parent, int invokingState) {
38592 super(parent, invokingState);
38593 }
38594 @Override public int getRuleIndex() { return RULE_selectClause; }
38595 @Override
38596 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38597 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectClause(this);
38598 else return visitor.visitChildren(this);
38599 }
38600 }
38601
38602 public final SelectClauseContext selectClause() throws RecognitionException {
38603 SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
38604 enterRule(_localctx, 738, RULE_selectClause);
38605 int _la;
38606 try {
38607 enterOuterAlt(_localctx, 1);
38608 {
38609 setState(5333);
38610 _errHandler.sync(this);
38611 _la = _input.LA(1);
38612 if (_la==WITH) {
38613 {
38614 setState(5332);
38615 selectWithClause();
38616 }
38617 }
38618
38619 setState(5335);
38620 match(SELECT);
38621 setState(5337);
38622 _errHandler.sync(this);
38623 _la = _input.LA(1);
38624 if (_la==DISTINCT || _la==ALL) {
38625 {
38626 setState(5336);
38627 duplicateSpecification();
38628 }
38629 }
38630
38631 setState(5339);
38632 projections();
38633 setState(5341);
38634 _errHandler.sync(this);
38635 _la = _input.LA(1);
38636 if (_la==INTO) {
38637 {
38638 setState(5340);
38639 intoClause();
38640 }
38641 }
38642
38643 setState(5350);
38644 _errHandler.sync(this);
38645 _la = _input.LA(1);
38646 if (_la==FROM) {
38647 {
38648 setState(5343);
38649 fromClause();
38650 setState(5345);
38651 _errHandler.sync(this);
38652 switch ( getInterpreter().adaptivePredict(_input,600,_ctx) ) {
38653 case 1:
38654 {
38655 setState(5344);
38656 withTempTable();
38657 }
38658 break;
38659 }
38660 setState(5348);
38661 _errHandler.sync(this);
38662 switch ( getInterpreter().adaptivePredict(_input,601,_ctx) ) {
38663 case 1:
38664 {
38665 setState(5347);
38666 withTableHint();
38667 }
38668 break;
38669 }
38670 }
38671 }
38672
38673 setState(5353);
38674 _errHandler.sync(this);
38675 _la = _input.LA(1);
38676 if (_la==WHERE) {
38677 {
38678 setState(5352);
38679 whereClause();
38680 }
38681 }
38682
38683 setState(5356);
38684 _errHandler.sync(this);
38685 _la = _input.LA(1);
38686 if (_la==GROUP) {
38687 {
38688 setState(5355);
38689 groupByClause();
38690 }
38691 }
38692
38693 setState(5359);
38694 _errHandler.sync(this);
38695 _la = _input.LA(1);
38696 if (_la==HAVING) {
38697 {
38698 setState(5358);
38699 havingClause();
38700 }
38701 }
38702
38703 setState(5362);
38704 _errHandler.sync(this);
38705 _la = _input.LA(1);
38706 if (_la==ORDER) {
38707 {
38708 setState(5361);
38709 orderByClause();
38710 }
38711 }
38712
38713 setState(5365);
38714 _errHandler.sync(this);
38715 switch ( getInterpreter().adaptivePredict(_input,607,_ctx) ) {
38716 case 1:
38717 {
38718 setState(5364);
38719 forClause();
38720 }
38721 break;
38722 }
38723 }
38724 }
38725 catch (RecognitionException re) {
38726 _localctx.exception = re;
38727 _errHandler.reportError(this, re);
38728 _errHandler.recover(this, re);
38729 }
38730 finally {
38731 exitRule();
38732 }
38733 return _localctx;
38734 }
38735
38736 public static class DuplicateSpecificationContext extends ParserRuleContext {
38737 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
38738 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
38739 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
38740 super(parent, invokingState);
38741 }
38742 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
38743 @Override
38744 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38745 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
38746 else return visitor.visitChildren(this);
38747 }
38748 }
38749
38750 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
38751 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
38752 enterRule(_localctx, 740, RULE_duplicateSpecification);
38753 int _la;
38754 try {
38755 enterOuterAlt(_localctx, 1);
38756 {
38757 setState(5367);
38758 _la = _input.LA(1);
38759 if ( !(_la==DISTINCT || _la==ALL) ) {
38760 _errHandler.recoverInline(this);
38761 }
38762 else {
38763 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38764 _errHandler.reportMatch(this);
38765 consume();
38766 }
38767 }
38768 }
38769 catch (RecognitionException re) {
38770 _localctx.exception = re;
38771 _errHandler.reportError(this, re);
38772 _errHandler.recover(this, re);
38773 }
38774 finally {
38775 exitRule();
38776 }
38777 return _localctx;
38778 }
38779
38780 public static class ProjectionsContext extends ParserRuleContext {
38781 public List<ProjectionContext> projection() {
38782 return getRuleContexts(ProjectionContext.class);
38783 }
38784 public ProjectionContext projection(int i) {
38785 return getRuleContext(ProjectionContext.class,i);
38786 }
38787 public TopContext top() {
38788 return getRuleContext(TopContext.class,0);
38789 }
38790 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38791 public TerminalNode COMMA_(int i) {
38792 return getToken(SQLServerStatementParser.COMMA_, i);
38793 }
38794 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
38795 super(parent, invokingState);
38796 }
38797 @Override public int getRuleIndex() { return RULE_projections; }
38798 @Override
38799 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38800 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjections(this);
38801 else return visitor.visitChildren(this);
38802 }
38803 }
38804
38805 public final ProjectionsContext projections() throws RecognitionException {
38806 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
38807 enterRule(_localctx, 742, RULE_projections);
38808 int _la;
38809 try {
38810 enterOuterAlt(_localctx, 1);
38811 {
38812 setState(5374);
38813 _errHandler.sync(this);
38814 switch ( getInterpreter().adaptivePredict(_input,609,_ctx) ) {
38815 case 1:
38816 {
38817 setState(5369);
38818 projection();
38819 }
38820 break;
38821 case 2:
38822 {
38823 setState(5370);
38824 top();
38825 setState(5372);
38826 _errHandler.sync(this);
38827 switch ( getInterpreter().adaptivePredict(_input,608,_ctx) ) {
38828 case 1:
38829 {
38830 setState(5371);
38831 projection();
38832 }
38833 break;
38834 }
38835 }
38836 break;
38837 }
38838 setState(5380);
38839 _errHandler.sync(this);
38840 _la = _input.LA(1);
38841 while (_la==COMMA_) {
38842 {
38843 {
38844 setState(5376);
38845 match(COMMA_);
38846 setState(5377);
38847 projection();
38848 }
38849 }
38850 setState(5382);
38851 _errHandler.sync(this);
38852 _la = _input.LA(1);
38853 }
38854 }
38855 }
38856 catch (RecognitionException re) {
38857 _localctx.exception = re;
38858 _errHandler.reportError(this, re);
38859 _errHandler.recover(this, re);
38860 }
38861 finally {
38862 exitRule();
38863 }
38864 return _localctx;
38865 }
38866
38867 public static class ProjectionContext extends ParserRuleContext {
38868 public QualifiedShorthandContext qualifiedShorthand() {
38869 return getRuleContext(QualifiedShorthandContext.class,0);
38870 }
38871 public UnqualifiedShorthandContext unqualifiedShorthand() {
38872 return getRuleContext(UnqualifiedShorthandContext.class,0);
38873 }
38874 public ColumnNameContext columnName() {
38875 return getRuleContext(ColumnNameContext.class,0);
38876 }
38877 public ExprContext expr() {
38878 return getRuleContext(ExprContext.class,0);
38879 }
38880 public AliasContext alias() {
38881 return getRuleContext(AliasContext.class,0);
38882 }
38883 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
38884 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38885 public ProjectionContext(ParserRuleContext parent, int invokingState) {
38886 super(parent, invokingState);
38887 }
38888 @Override public int getRuleIndex() { return RULE_projection; }
38889 @Override
38890 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38891 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjection(this);
38892 else return visitor.visitChildren(this);
38893 }
38894 }
38895
38896 public final ProjectionContext projection() throws RecognitionException {
38897 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
38898 enterRule(_localctx, 744, RULE_projection);
38899 int _la;
38900 try {
38901 setState(5404);
38902 _errHandler.sync(this);
38903 switch ( getInterpreter().adaptivePredict(_input,616,_ctx) ) {
38904 case 1:
38905 enterOuterAlt(_localctx, 1);
38906 {
38907 setState(5383);
38908 qualifiedShorthand();
38909 }
38910 break;
38911 case 2:
38912 enterOuterAlt(_localctx, 2);
38913 {
38914 setState(5384);
38915 unqualifiedShorthand();
38916 }
38917 break;
38918 case 3:
38919 enterOuterAlt(_localctx, 3);
38920 {
38921 setState(5388);
38922 _errHandler.sync(this);
38923 switch ( getInterpreter().adaptivePredict(_input,611,_ctx) ) {
38924 case 1:
38925 {
38926 setState(5385);
38927 alias();
38928 setState(5386);
38929 match(EQ_);
38930 }
38931 break;
38932 }
38933 setState(5392);
38934 _errHandler.sync(this);
38935 switch ( getInterpreter().adaptivePredict(_input,612,_ctx) ) {
38936 case 1:
38937 {
38938 setState(5390);
38939 columnName();
38940 }
38941 break;
38942 case 2:
38943 {
38944 setState(5391);
38945 expr(0);
38946 }
38947 break;
38948 }
38949 }
38950 break;
38951 case 4:
38952 enterOuterAlt(_localctx, 4);
38953 {
38954 setState(5396);
38955 _errHandler.sync(this);
38956 switch ( getInterpreter().adaptivePredict(_input,613,_ctx) ) {
38957 case 1:
38958 {
38959 setState(5394);
38960 columnName();
38961 }
38962 break;
38963 case 2:
38964 {
38965 setState(5395);
38966 expr(0);
38967 }
38968 break;
38969 }
38970 setState(5402);
38971 _errHandler.sync(this);
38972 switch ( getInterpreter().adaptivePredict(_input,615,_ctx) ) {
38973 case 1:
38974 {
38975 setState(5399);
38976 _errHandler.sync(this);
38977 _la = _input.LA(1);
38978 if (_la==AS) {
38979 {
38980 setState(5398);
38981 match(AS);
38982 }
38983 }
38984
38985 setState(5401);
38986 alias();
38987 }
38988 break;
38989 }
38990 }
38991 break;
38992 }
38993 }
38994 catch (RecognitionException re) {
38995 _localctx.exception = re;
38996 _errHandler.reportError(this, re);
38997 _errHandler.recover(this, re);
38998 }
38999 finally {
39000 exitRule();
39001 }
39002 return _localctx;
39003 }
39004
39005 public static class TopContext extends ParserRuleContext {
39006 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
39007 public TopNumContext topNum() {
39008 return getRuleContext(TopNumContext.class,0);
39009 }
39010 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
39011 public TerminalNode LP_(int i) {
39012 return getToken(SQLServerStatementParser.LP_, i);
39013 }
39014 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
39015 public TerminalNode RP_(int i) {
39016 return getToken(SQLServerStatementParser.RP_, i);
39017 }
39018 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
39019 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
39020 public TerminalNode TIES() { return getToken(SQLServerStatementParser.TIES, 0); }
39021 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
39022 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
39023 public OrderByClauseContext orderByClause() {
39024 return getRuleContext(OrderByClauseContext.class,0);
39025 }
39026 public AliasContext alias() {
39027 return getRuleContext(AliasContext.class,0);
39028 }
39029 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39030 public TopContext(ParserRuleContext parent, int invokingState) {
39031 super(parent, invokingState);
39032 }
39033 @Override public int getRuleIndex() { return RULE_top; }
39034 @Override
39035 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39036 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTop(this);
39037 else return visitor.visitChildren(this);
39038 }
39039 }
39040
39041 public final TopContext top() throws RecognitionException {
39042 TopContext _localctx = new TopContext(_ctx, getState());
39043 enterRule(_localctx, 746, RULE_top);
39044 int _la;
39045 try {
39046 enterOuterAlt(_localctx, 1);
39047 {
39048 setState(5406);
39049 match(TOP);
39050 setState(5408);
39051 _errHandler.sync(this);
39052 _la = _input.LA(1);
39053 if (_la==LP_) {
39054 {
39055 setState(5407);
39056 match(LP_);
39057 }
39058 }
39059
39060 setState(5410);
39061 topNum();
39062 setState(5412);
39063 _errHandler.sync(this);
39064 switch ( getInterpreter().adaptivePredict(_input,618,_ctx) ) {
39065 case 1:
39066 {
39067 setState(5411);
39068 match(RP_);
39069 }
39070 break;
39071 }
39072 setState(5415);
39073 _errHandler.sync(this);
39074 _la = _input.LA(1);
39075 if (_la==PERCENT) {
39076 {
39077 setState(5414);
39078 match(PERCENT);
39079 }
39080 }
39081
39082 setState(5419);
39083 _errHandler.sync(this);
39084 switch ( getInterpreter().adaptivePredict(_input,620,_ctx) ) {
39085 case 1:
39086 {
39087 setState(5417);
39088 match(WITH);
39089 setState(5418);
39090 match(TIES);
39091 }
39092 break;
39093 }
39094 setState(5434);
39095 _errHandler.sync(this);
39096 switch ( getInterpreter().adaptivePredict(_input,623,_ctx) ) {
39097 case 1:
39098 {
39099 setState(5421);
39100 match(ROW_NUMBER);
39101 setState(5422);
39102 match(LP_);
39103 setState(5423);
39104 match(RP_);
39105 setState(5424);
39106 match(OVER);
39107 setState(5425);
39108 match(LP_);
39109 setState(5426);
39110 orderByClause();
39111 setState(5427);
39112 match(RP_);
39113 setState(5432);
39114 _errHandler.sync(this);
39115 switch ( getInterpreter().adaptivePredict(_input,622,_ctx) ) {
39116 case 1:
39117 {
39118 setState(5429);
39119 _errHandler.sync(this);
39120 _la = _input.LA(1);
39121 if (_la==AS) {
39122 {
39123 setState(5428);
39124 match(AS);
39125 }
39126 }
39127
39128 setState(5431);
39129 alias();
39130 }
39131 break;
39132 }
39133 }
39134 break;
39135 }
39136 }
39137 }
39138 catch (RecognitionException re) {
39139 _localctx.exception = re;
39140 _errHandler.reportError(this, re);
39141 _errHandler.recover(this, re);
39142 }
39143 finally {
39144 exitRule();
39145 }
39146 return _localctx;
39147 }
39148
39149 public static class TopNumContext extends ParserRuleContext {
39150 public NumberLiteralsContext numberLiterals() {
39151 return getRuleContext(NumberLiteralsContext.class,0);
39152 }
39153 public ParameterMarkerContext parameterMarker() {
39154 return getRuleContext(ParameterMarkerContext.class,0);
39155 }
39156 public TopNumContext(ParserRuleContext parent, int invokingState) {
39157 super(parent, invokingState);
39158 }
39159 @Override public int getRuleIndex() { return RULE_topNum; }
39160 @Override
39161 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39162 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTopNum(this);
39163 else return visitor.visitChildren(this);
39164 }
39165 }
39166
39167 public final TopNumContext topNum() throws RecognitionException {
39168 TopNumContext _localctx = new TopNumContext(_ctx, getState());
39169 enterRule(_localctx, 748, RULE_topNum);
39170 try {
39171 setState(5438);
39172 _errHandler.sync(this);
39173 switch (_input.LA(1)) {
39174 case PLUS_:
39175 case MINUS_:
39176 case NUMBER_:
39177 enterOuterAlt(_localctx, 1);
39178 {
39179 setState(5436);
39180 numberLiterals();
39181 }
39182 break;
39183 case QUESTION_:
39184 enterOuterAlt(_localctx, 2);
39185 {
39186 setState(5437);
39187 parameterMarker();
39188 }
39189 break;
39190 default:
39191 throw new NoViableAltException(this);
39192 }
39193 }
39194 catch (RecognitionException re) {
39195 _localctx.exception = re;
39196 _errHandler.reportError(this, re);
39197 _errHandler.recover(this, re);
39198 }
39199 finally {
39200 exitRule();
39201 }
39202 return _localctx;
39203 }
39204
39205 public static class UnqualifiedShorthandContext extends ParserRuleContext {
39206 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
39207 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
39208 super(parent, invokingState);
39209 }
39210 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
39211 @Override
39212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
39214 else return visitor.visitChildren(this);
39215 }
39216 }
39217
39218 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
39219 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
39220 enterRule(_localctx, 750, RULE_unqualifiedShorthand);
39221 try {
39222 enterOuterAlt(_localctx, 1);
39223 {
39224 setState(5440);
39225 match(ASTERISK_);
39226 }
39227 }
39228 catch (RecognitionException re) {
39229 _localctx.exception = re;
39230 _errHandler.reportError(this, re);
39231 _errHandler.recover(this, re);
39232 }
39233 finally {
39234 exitRule();
39235 }
39236 return _localctx;
39237 }
39238
39239 public static class QualifiedShorthandContext extends ParserRuleContext {
39240 public IdentifierContext identifier() {
39241 return getRuleContext(IdentifierContext.class,0);
39242 }
39243 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
39244 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
39245 super(parent, invokingState);
39246 }
39247 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
39248 @Override
39249 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39250 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
39251 else return visitor.visitChildren(this);
39252 }
39253 }
39254
39255 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
39256 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
39257 enterRule(_localctx, 752, RULE_qualifiedShorthand);
39258 try {
39259 enterOuterAlt(_localctx, 1);
39260 {
39261 setState(5442);
39262 identifier();
39263 setState(5443);
39264 match(DOT_ASTERISK_);
39265 }
39266 }
39267 catch (RecognitionException re) {
39268 _localctx.exception = re;
39269 _errHandler.reportError(this, re);
39270 _errHandler.recover(this, re);
39271 }
39272 finally {
39273 exitRule();
39274 }
39275 return _localctx;
39276 }
39277
39278 public static class IntoClauseContext extends ParserRuleContext {
39279 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
39280 public TableNameContext tableName() {
39281 return getRuleContext(TableNameContext.class,0);
39282 }
39283 public IntoClauseContext(ParserRuleContext parent, int invokingState) {
39284 super(parent, invokingState);
39285 }
39286 @Override public int getRuleIndex() { return RULE_intoClause; }
39287 @Override
39288 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39289 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIntoClause(this);
39290 else return visitor.visitChildren(this);
39291 }
39292 }
39293
39294 public final IntoClauseContext intoClause() throws RecognitionException {
39295 IntoClauseContext _localctx = new IntoClauseContext(_ctx, getState());
39296 enterRule(_localctx, 754, RULE_intoClause);
39297 try {
39298 enterOuterAlt(_localctx, 1);
39299 {
39300 setState(5445);
39301 match(INTO);
39302 setState(5446);
39303 tableName();
39304 }
39305 }
39306 catch (RecognitionException re) {
39307 _localctx.exception = re;
39308 _errHandler.reportError(this, re);
39309 _errHandler.recover(this, re);
39310 }
39311 finally {
39312 exitRule();
39313 }
39314 return _localctx;
39315 }
39316
39317 public static class FromClauseContext extends ParserRuleContext {
39318 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
39319 public TableReferencesContext tableReferences() {
39320 return getRuleContext(TableReferencesContext.class,0);
39321 }
39322 public FromClauseContext(ParserRuleContext parent, int invokingState) {
39323 super(parent, invokingState);
39324 }
39325 @Override public int getRuleIndex() { return RULE_fromClause; }
39326 @Override
39327 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39328 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFromClause(this);
39329 else return visitor.visitChildren(this);
39330 }
39331 }
39332
39333 public final FromClauseContext fromClause() throws RecognitionException {
39334 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
39335 enterRule(_localctx, 756, RULE_fromClause);
39336 try {
39337 enterOuterAlt(_localctx, 1);
39338 {
39339 setState(5448);
39340 match(FROM);
39341 setState(5449);
39342 tableReferences();
39343 }
39344 }
39345 catch (RecognitionException re) {
39346 _localctx.exception = re;
39347 _errHandler.reportError(this, re);
39348 _errHandler.recover(this, re);
39349 }
39350 finally {
39351 exitRule();
39352 }
39353 return _localctx;
39354 }
39355
39356 public static class TableReferencesContext extends ParserRuleContext {
39357 public List<TableReferenceContext> tableReference() {
39358 return getRuleContexts(TableReferenceContext.class);
39359 }
39360 public TableReferenceContext tableReference(int i) {
39361 return getRuleContext(TableReferenceContext.class,i);
39362 }
39363 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39364 public TerminalNode COMMA_(int i) {
39365 return getToken(SQLServerStatementParser.COMMA_, i);
39366 }
39367 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
39368 super(parent, invokingState);
39369 }
39370 @Override public int getRuleIndex() { return RULE_tableReferences; }
39371 @Override
39372 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39373 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReferences(this);
39374 else return visitor.visitChildren(this);
39375 }
39376 }
39377
39378 public final TableReferencesContext tableReferences() throws RecognitionException {
39379 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
39380 enterRule(_localctx, 758, RULE_tableReferences);
39381 int _la;
39382 try {
39383 enterOuterAlt(_localctx, 1);
39384 {
39385 setState(5451);
39386 tableReference();
39387 setState(5456);
39388 _errHandler.sync(this);
39389 _la = _input.LA(1);
39390 while (_la==COMMA_) {
39391 {
39392 {
39393 setState(5452);
39394 match(COMMA_);
39395 setState(5453);
39396 tableReference();
39397 }
39398 }
39399 setState(5458);
39400 _errHandler.sync(this);
39401 _la = _input.LA(1);
39402 }
39403 }
39404 }
39405 catch (RecognitionException re) {
39406 _localctx.exception = re;
39407 _errHandler.reportError(this, re);
39408 _errHandler.recover(this, re);
39409 }
39410 finally {
39411 exitRule();
39412 }
39413 return _localctx;
39414 }
39415
39416 public static class TableReferenceContext extends ParserRuleContext {
39417 public TableFactorContext tableFactor() {
39418 return getRuleContext(TableFactorContext.class,0);
39419 }
39420 public List<JoinedTableContext> joinedTable() {
39421 return getRuleContexts(JoinedTableContext.class);
39422 }
39423 public JoinedTableContext joinedTable(int i) {
39424 return getRuleContext(JoinedTableContext.class,i);
39425 }
39426 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
39427 super(parent, invokingState);
39428 }
39429 @Override public int getRuleIndex() { return RULE_tableReference; }
39430 @Override
39431 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39432 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReference(this);
39433 else return visitor.visitChildren(this);
39434 }
39435 }
39436
39437 public final TableReferenceContext tableReference() throws RecognitionException {
39438 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
39439 enterRule(_localctx, 760, RULE_tableReference);
39440 int _la;
39441 try {
39442 enterOuterAlt(_localctx, 1);
39443 {
39444 setState(5459);
39445 tableFactor();
39446 setState(5463);
39447 _errHandler.sync(this);
39448 _la = _input.LA(1);
39449 while (((((_la - 86)) & ~0x3f) == 0 && ((1L << (_la - 86)) & ((1L << (NATURAL - 86)) | (1L << (JOIN - 86)) | (1L << (FULL - 86)) | (1L << (INNER - 86)) | (1L << (OUTER - 86)) | (1L << (LEFT - 86)) | (1L << (RIGHT - 86)) | (1L << (CROSS - 86)))) != 0)) {
39450 {
39451 {
39452 setState(5460);
39453 joinedTable();
39454 }
39455 }
39456 setState(5465);
39457 _errHandler.sync(this);
39458 _la = _input.LA(1);
39459 }
39460 }
39461 }
39462 catch (RecognitionException re) {
39463 _localctx.exception = re;
39464 _errHandler.reportError(this, re);
39465 _errHandler.recover(this, re);
39466 }
39467 finally {
39468 exitRule();
39469 }
39470 return _localctx;
39471 }
39472
39473 public static class TableFactorContext extends ParserRuleContext {
39474 public TableNameContext tableName() {
39475 return getRuleContext(TableNameContext.class,0);
39476 }
39477 public AliasContext alias() {
39478 return getRuleContext(AliasContext.class,0);
39479 }
39480 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39481 public SubqueryContext subquery() {
39482 return getRuleContext(SubqueryContext.class,0);
39483 }
39484 public ColumnNamesContext columnNames() {
39485 return getRuleContext(ColumnNamesContext.class,0);
39486 }
39487 public ExprContext expr() {
39488 return getRuleContext(ExprContext.class,0);
39489 }
39490 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39491 public TableReferencesContext tableReferences() {
39492 return getRuleContext(TableReferencesContext.class,0);
39493 }
39494 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39495 public TableFactorContext(ParserRuleContext parent, int invokingState) {
39496 super(parent, invokingState);
39497 }
39498 @Override public int getRuleIndex() { return RULE_tableFactor; }
39499 @Override
39500 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39501 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableFactor(this);
39502 else return visitor.visitChildren(this);
39503 }
39504 }
39505
39506 public final TableFactorContext tableFactor() throws RecognitionException {
39507 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
39508 enterRule(_localctx, 762, RULE_tableFactor);
39509 int _la;
39510 try {
39511 setState(5492);
39512 _errHandler.sync(this);
39513 switch ( getInterpreter().adaptivePredict(_input,633,_ctx) ) {
39514 case 1:
39515 enterOuterAlt(_localctx, 1);
39516 {
39517 setState(5466);
39518 tableName();
39519 setState(5471);
39520 _errHandler.sync(this);
39521 switch ( getInterpreter().adaptivePredict(_input,628,_ctx) ) {
39522 case 1:
39523 {
39524 setState(5468);
39525 _errHandler.sync(this);
39526 _la = _input.LA(1);
39527 if (_la==AS) {
39528 {
39529 setState(5467);
39530 match(AS);
39531 }
39532 }
39533
39534 setState(5470);
39535 alias();
39536 }
39537 break;
39538 }
39539 }
39540 break;
39541 case 2:
39542 enterOuterAlt(_localctx, 2);
39543 {
39544 setState(5473);
39545 subquery();
39546 setState(5475);
39547 _errHandler.sync(this);
39548 _la = _input.LA(1);
39549 if (_la==AS) {
39550 {
39551 setState(5474);
39552 match(AS);
39553 }
39554 }
39555
39556 setState(5477);
39557 alias();
39558 setState(5479);
39559 _errHandler.sync(this);
39560 switch ( getInterpreter().adaptivePredict(_input,630,_ctx) ) {
39561 case 1:
39562 {
39563 setState(5478);
39564 columnNames();
39565 }
39566 break;
39567 }
39568 }
39569 break;
39570 case 3:
39571 enterOuterAlt(_localctx, 3);
39572 {
39573 setState(5481);
39574 expr(0);
39575 setState(5486);
39576 _errHandler.sync(this);
39577 switch ( getInterpreter().adaptivePredict(_input,632,_ctx) ) {
39578 case 1:
39579 {
39580 setState(5483);
39581 _errHandler.sync(this);
39582 _la = _input.LA(1);
39583 if (_la==AS) {
39584 {
39585 setState(5482);
39586 match(AS);
39587 }
39588 }
39589
39590 setState(5485);
39591 alias();
39592 }
39593 break;
39594 }
39595 }
39596 break;
39597 case 4:
39598 enterOuterAlt(_localctx, 4);
39599 {
39600 setState(5488);
39601 match(LP_);
39602 setState(5489);
39603 tableReferences();
39604 setState(5490);
39605 match(RP_);
39606 }
39607 break;
39608 }
39609 }
39610 catch (RecognitionException re) {
39611 _localctx.exception = re;
39612 _errHandler.reportError(this, re);
39613 _errHandler.recover(this, re);
39614 }
39615 finally {
39616 exitRule();
39617 }
39618 return _localctx;
39619 }
39620
39621 public static class JoinedTableContext extends ParserRuleContext {
39622 public TableFactorContext tableFactor() {
39623 return getRuleContext(TableFactorContext.class,0);
39624 }
39625 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
39626 public TerminalNode NATURAL() { return getToken(SQLServerStatementParser.NATURAL, 0); }
39627 public JoinSpecificationContext joinSpecification() {
39628 return getRuleContext(JoinSpecificationContext.class,0);
39629 }
39630 public TerminalNode INNER() { return getToken(SQLServerStatementParser.INNER, 0); }
39631 public TerminalNode CROSS() { return getToken(SQLServerStatementParser.CROSS, 0); }
39632 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
39633 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
39634 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
39635 public TerminalNode OUTER() { return getToken(SQLServerStatementParser.OUTER, 0); }
39636 public TerminalNode APPLY() { return getToken(SQLServerStatementParser.APPLY, 0); }
39637 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
39638 super(parent, invokingState);
39639 }
39640 @Override public int getRuleIndex() { return RULE_joinedTable; }
39641 @Override
39642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
39644 else return visitor.visitChildren(this);
39645 }
39646 }
39647
39648 public final JoinedTableContext joinedTable() throws RecognitionException {
39649 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
39650 enterRule(_localctx, 764, RULE_joinedTable);
39651 int _la;
39652 try {
39653 setState(5524);
39654 _errHandler.sync(this);
39655 switch ( getInterpreter().adaptivePredict(_input,641,_ctx) ) {
39656 case 1:
39657 enterOuterAlt(_localctx, 1);
39658 {
39659 setState(5495);
39660 _errHandler.sync(this);
39661 _la = _input.LA(1);
39662 if (_la==NATURAL) {
39663 {
39664 setState(5494);
39665 match(NATURAL);
39666 }
39667 }
39668
39669 {
39670 setState(5498);
39671 _errHandler.sync(this);
39672 _la = _input.LA(1);
39673 if (_la==INNER || _la==CROSS) {
39674 {
39675 setState(5497);
39676 _la = _input.LA(1);
39677 if ( !(_la==INNER || _la==CROSS) ) {
39678 _errHandler.recoverInline(this);
39679 }
39680 else {
39681 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39682 _errHandler.reportMatch(this);
39683 consume();
39684 }
39685 }
39686 }
39687
39688 setState(5500);
39689 match(JOIN);
39690 }
39691 setState(5502);
39692 tableFactor();
39693 setState(5504);
39694 _errHandler.sync(this);
39695 _la = _input.LA(1);
39696 if (_la==USING || _la==ON) {
39697 {
39698 setState(5503);
39699 joinSpecification();
39700 }
39701 }
39702
39703 }
39704 break;
39705 case 2:
39706 enterOuterAlt(_localctx, 2);
39707 {
39708 setState(5507);
39709 _errHandler.sync(this);
39710 _la = _input.LA(1);
39711 if (_la==NATURAL) {
39712 {
39713 setState(5506);
39714 match(NATURAL);
39715 }
39716 }
39717
39718 setState(5509);
39719 _la = _input.LA(1);
39720 if ( !(((((_la - 88)) & ~0x3f) == 0 && ((1L << (_la - 88)) & ((1L << (FULL - 88)) | (1L << (LEFT - 88)) | (1L << (RIGHT - 88)))) != 0)) ) {
39721 _errHandler.recoverInline(this);
39722 }
39723 else {
39724 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39725 _errHandler.reportMatch(this);
39726 consume();
39727 }
39728 setState(5511);
39729 _errHandler.sync(this);
39730 _la = _input.LA(1);
39731 if (_la==OUTER) {
39732 {
39733 setState(5510);
39734 match(OUTER);
39735 }
39736 }
39737
39738 setState(5513);
39739 match(JOIN);
39740 setState(5514);
39741 tableFactor();
39742 setState(5516);
39743 _errHandler.sync(this);
39744 _la = _input.LA(1);
39745 if (_la==USING || _la==ON) {
39746 {
39747 setState(5515);
39748 joinSpecification();
39749 }
39750 }
39751
39752 }
39753 break;
39754 case 3:
39755 enterOuterAlt(_localctx, 3);
39756 {
39757 setState(5518);
39758 _la = _input.LA(1);
39759 if ( !(_la==OUTER || _la==CROSS) ) {
39760 _errHandler.recoverInline(this);
39761 }
39762 else {
39763 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39764 _errHandler.reportMatch(this);
39765 consume();
39766 }
39767 setState(5519);
39768 match(APPLY);
39769 setState(5520);
39770 tableFactor();
39771 setState(5522);
39772 _errHandler.sync(this);
39773 _la = _input.LA(1);
39774 if (_la==USING || _la==ON) {
39775 {
39776 setState(5521);
39777 joinSpecification();
39778 }
39779 }
39780
39781 }
39782 break;
39783 }
39784 }
39785 catch (RecognitionException re) {
39786 _localctx.exception = re;
39787 _errHandler.reportError(this, re);
39788 _errHandler.recover(this, re);
39789 }
39790 finally {
39791 exitRule();
39792 }
39793 return _localctx;
39794 }
39795
39796 public static class JoinSpecificationContext extends ParserRuleContext {
39797 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
39798 public ExprContext expr() {
39799 return getRuleContext(ExprContext.class,0);
39800 }
39801 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
39802 public ColumnNamesContext columnNames() {
39803 return getRuleContext(ColumnNamesContext.class,0);
39804 }
39805 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
39806 super(parent, invokingState);
39807 }
39808 @Override public int getRuleIndex() { return RULE_joinSpecification; }
39809 @Override
39810 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39811 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
39812 else return visitor.visitChildren(this);
39813 }
39814 }
39815
39816 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
39817 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
39818 enterRule(_localctx, 766, RULE_joinSpecification);
39819 try {
39820 setState(5530);
39821 _errHandler.sync(this);
39822 switch (_input.LA(1)) {
39823 case ON:
39824 enterOuterAlt(_localctx, 1);
39825 {
39826 setState(5526);
39827 match(ON);
39828 setState(5527);
39829 expr(0);
39830 }
39831 break;
39832 case USING:
39833 enterOuterAlt(_localctx, 2);
39834 {
39835 setState(5528);
39836 match(USING);
39837 setState(5529);
39838 columnNames();
39839 }
39840 break;
39841 default:
39842 throw new NoViableAltException(this);
39843 }
39844 }
39845 catch (RecognitionException re) {
39846 _localctx.exception = re;
39847 _errHandler.reportError(this, re);
39848 _errHandler.recover(this, re);
39849 }
39850 finally {
39851 exitRule();
39852 }
39853 return _localctx;
39854 }
39855
39856 public static class WhereClauseContext extends ParserRuleContext {
39857 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
39858 public ExprContext expr() {
39859 return getRuleContext(ExprContext.class,0);
39860 }
39861 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
39862 super(parent, invokingState);
39863 }
39864 @Override public int getRuleIndex() { return RULE_whereClause; }
39865 @Override
39866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWhereClause(this);
39868 else return visitor.visitChildren(this);
39869 }
39870 }
39871
39872 public final WhereClauseContext whereClause() throws RecognitionException {
39873 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
39874 enterRule(_localctx, 768, RULE_whereClause);
39875 try {
39876 enterOuterAlt(_localctx, 1);
39877 {
39878 setState(5532);
39879 match(WHERE);
39880 setState(5533);
39881 expr(0);
39882 }
39883 }
39884 catch (RecognitionException re) {
39885 _localctx.exception = re;
39886 _errHandler.reportError(this, re);
39887 _errHandler.recover(this, re);
39888 }
39889 finally {
39890 exitRule();
39891 }
39892 return _localctx;
39893 }
39894
39895 public static class GroupByClauseContext extends ParserRuleContext {
39896 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
39897 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
39898 public List<OrderByItemContext> orderByItem() {
39899 return getRuleContexts(OrderByItemContext.class);
39900 }
39901 public OrderByItemContext orderByItem(int i) {
39902 return getRuleContext(OrderByItemContext.class,i);
39903 }
39904 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39905 public TerminalNode COMMA_(int i) {
39906 return getToken(SQLServerStatementParser.COMMA_, i);
39907 }
39908 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
39909 super(parent, invokingState);
39910 }
39911 @Override public int getRuleIndex() { return RULE_groupByClause; }
39912 @Override
39913 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39914 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
39915 else return visitor.visitChildren(this);
39916 }
39917 }
39918
39919 public final GroupByClauseContext groupByClause() throws RecognitionException {
39920 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
39921 enterRule(_localctx, 770, RULE_groupByClause);
39922 int _la;
39923 try {
39924 enterOuterAlt(_localctx, 1);
39925 {
39926 setState(5535);
39927 match(GROUP);
39928 setState(5536);
39929 match(BY);
39930 setState(5537);
39931 orderByItem();
39932 setState(5542);
39933 _errHandler.sync(this);
39934 _la = _input.LA(1);
39935 while (_la==COMMA_) {
39936 {
39937 {
39938 setState(5538);
39939 match(COMMA_);
39940 setState(5539);
39941 orderByItem();
39942 }
39943 }
39944 setState(5544);
39945 _errHandler.sync(this);
39946 _la = _input.LA(1);
39947 }
39948 }
39949 }
39950 catch (RecognitionException re) {
39951 _localctx.exception = re;
39952 _errHandler.reportError(this, re);
39953 _errHandler.recover(this, re);
39954 }
39955 finally {
39956 exitRule();
39957 }
39958 return _localctx;
39959 }
39960
39961 public static class HavingClauseContext extends ParserRuleContext {
39962 public TerminalNode HAVING() { return getToken(SQLServerStatementParser.HAVING, 0); }
39963 public ExprContext expr() {
39964 return getRuleContext(ExprContext.class,0);
39965 }
39966 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
39967 super(parent, invokingState);
39968 }
39969 @Override public int getRuleIndex() { return RULE_havingClause; }
39970 @Override
39971 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39972 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHavingClause(this);
39973 else return visitor.visitChildren(this);
39974 }
39975 }
39976
39977 public final HavingClauseContext havingClause() throws RecognitionException {
39978 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
39979 enterRule(_localctx, 772, RULE_havingClause);
39980 try {
39981 enterOuterAlt(_localctx, 1);
39982 {
39983 setState(5545);
39984 match(HAVING);
39985 setState(5546);
39986 expr(0);
39987 }
39988 }
39989 catch (RecognitionException re) {
39990 _localctx.exception = re;
39991 _errHandler.reportError(this, re);
39992 _errHandler.recover(this, re);
39993 }
39994 finally {
39995 exitRule();
39996 }
39997 return _localctx;
39998 }
39999
40000 public static class SubqueryContext extends ParserRuleContext {
40001 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40002 public AggregationClauseContext aggregationClause() {
40003 return getRuleContext(AggregationClauseContext.class,0);
40004 }
40005 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40006 public SubqueryContext(ParserRuleContext parent, int invokingState) {
40007 super(parent, invokingState);
40008 }
40009 @Override public int getRuleIndex() { return RULE_subquery; }
40010 @Override
40011 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40012 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSubquery(this);
40013 else return visitor.visitChildren(this);
40014 }
40015 }
40016
40017 public final SubqueryContext subquery() throws RecognitionException {
40018 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
40019 enterRule(_localctx, 774, RULE_subquery);
40020 try {
40021 enterOuterAlt(_localctx, 1);
40022 {
40023 setState(5548);
40024 match(LP_);
40025 setState(5549);
40026 aggregationClause();
40027 setState(5550);
40028 match(RP_);
40029 }
40030 }
40031 catch (RecognitionException re) {
40032 _localctx.exception = re;
40033 _errHandler.reportError(this, re);
40034 _errHandler.recover(this, re);
40035 }
40036 finally {
40037 exitRule();
40038 }
40039 return _localctx;
40040 }
40041
40042 public static class WithTempTableContext extends ParserRuleContext {
40043 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40044 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
40045 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
40046 public List<ColumnNameContext> columnName() {
40047 return getRuleContexts(ColumnNameContext.class);
40048 }
40049 public ColumnNameContext columnName(int i) {
40050 return getRuleContext(ColumnNameContext.class,i);
40051 }
40052 public List<DataTypeContext> dataType() {
40053 return getRuleContexts(DataTypeContext.class);
40054 }
40055 public DataTypeContext dataType(int i) {
40056 return getRuleContext(DataTypeContext.class,i);
40057 }
40058 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40059 public TerminalNode COMMA_(int i) {
40060 return getToken(SQLServerStatementParser.COMMA_, i);
40061 }
40062 public WithTempTableContext(ParserRuleContext parent, int invokingState) {
40063 super(parent, invokingState);
40064 }
40065 @Override public int getRuleIndex() { return RULE_withTempTable; }
40066 @Override
40067 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40068 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithTempTable(this);
40069 else return visitor.visitChildren(this);
40070 }
40071 }
40072
40073 public final WithTempTableContext withTempTable() throws RecognitionException {
40074 WithTempTableContext _localctx = new WithTempTableContext(_ctx, getState());
40075 enterRule(_localctx, 776, RULE_withTempTable);
40076 int _la;
40077 try {
40078 enterOuterAlt(_localctx, 1);
40079 {
40080 setState(5552);
40081 match(WITH);
40082 setState(5553);
40083 match(LP_);
40084 {
40085 setState(5554);
40086 columnName();
40087 setState(5555);
40088 dataType();
40089 }
40090 setState(5563);
40091 _errHandler.sync(this);
40092 _la = _input.LA(1);
40093 while (_la==COMMA_) {
40094 {
40095 {
40096 setState(5557);
40097 match(COMMA_);
40098 setState(5558);
40099 columnName();
40100 setState(5559);
40101 dataType();
40102 }
40103 }
40104 setState(5565);
40105 _errHandler.sync(this);
40106 _la = _input.LA(1);
40107 }
40108 setState(5566);
40109 match(RP_);
40110 }
40111 }
40112 catch (RecognitionException re) {
40113 _localctx.exception = re;
40114 _errHandler.reportError(this, re);
40115 _errHandler.recover(this, re);
40116 }
40117 finally {
40118 exitRule();
40119 }
40120 return _localctx;
40121 }
40122
40123 public static class WithClauseContext extends ParserRuleContext {
40124 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40125 public CteClauseSetContext cteClauseSet() {
40126 return getRuleContext(CteClauseSetContext.class,0);
40127 }
40128 public WithClauseContext(ParserRuleContext parent, int invokingState) {
40129 super(parent, invokingState);
40130 }
40131 @Override public int getRuleIndex() { return RULE_withClause; }
40132 @Override
40133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithClause(this);
40135 else return visitor.visitChildren(this);
40136 }
40137 }
40138
40139 public final WithClauseContext withClause() throws RecognitionException {
40140 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
40141 enterRule(_localctx, 778, RULE_withClause);
40142 try {
40143 enterOuterAlt(_localctx, 1);
40144 {
40145 setState(5568);
40146 match(WITH);
40147 setState(5569);
40148 cteClauseSet();
40149 }
40150 }
40151 catch (RecognitionException re) {
40152 _localctx.exception = re;
40153 _errHandler.reportError(this, re);
40154 _errHandler.recover(this, re);
40155 }
40156 finally {
40157 exitRule();
40158 }
40159 return _localctx;
40160 }
40161
40162 public static class CteClauseSetContext extends ParserRuleContext {
40163 public List<CteClauseContext> cteClause() {
40164 return getRuleContexts(CteClauseContext.class);
40165 }
40166 public CteClauseContext cteClause(int i) {
40167 return getRuleContext(CteClauseContext.class,i);
40168 }
40169 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40170 public TerminalNode COMMA_(int i) {
40171 return getToken(SQLServerStatementParser.COMMA_, i);
40172 }
40173 public CteClauseSetContext(ParserRuleContext parent, int invokingState) {
40174 super(parent, invokingState);
40175 }
40176 @Override public int getRuleIndex() { return RULE_cteClauseSet; }
40177 @Override
40178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClauseSet(this);
40180 else return visitor.visitChildren(this);
40181 }
40182 }
40183
40184 public final CteClauseSetContext cteClauseSet() throws RecognitionException {
40185 CteClauseSetContext _localctx = new CteClauseSetContext(_ctx, getState());
40186 enterRule(_localctx, 780, RULE_cteClauseSet);
40187 int _la;
40188 try {
40189 enterOuterAlt(_localctx, 1);
40190 {
40191 setState(5571);
40192 cteClause();
40193 setState(5576);
40194 _errHandler.sync(this);
40195 _la = _input.LA(1);
40196 while (_la==COMMA_) {
40197 {
40198 {
40199 setState(5572);
40200 match(COMMA_);
40201 setState(5573);
40202 cteClause();
40203 }
40204 }
40205 setState(5578);
40206 _errHandler.sync(this);
40207 _la = _input.LA(1);
40208 }
40209 }
40210 }
40211 catch (RecognitionException re) {
40212 _localctx.exception = re;
40213 _errHandler.reportError(this, re);
40214 _errHandler.recover(this, re);
40215 }
40216 finally {
40217 exitRule();
40218 }
40219 return _localctx;
40220 }
40221
40222 public static class CteClauseContext extends ParserRuleContext {
40223 public IdentifierContext identifier() {
40224 return getRuleContext(IdentifierContext.class,0);
40225 }
40226 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40227 public SubqueryContext subquery() {
40228 return getRuleContext(SubqueryContext.class,0);
40229 }
40230 public ColumnNamesContext columnNames() {
40231 return getRuleContext(ColumnNamesContext.class,0);
40232 }
40233 public CteClauseContext(ParserRuleContext parent, int invokingState) {
40234 super(parent, invokingState);
40235 }
40236 @Override public int getRuleIndex() { return RULE_cteClause; }
40237 @Override
40238 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40239 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClause(this);
40240 else return visitor.visitChildren(this);
40241 }
40242 }
40243
40244 public final CteClauseContext cteClause() throws RecognitionException {
40245 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
40246 enterRule(_localctx, 782, RULE_cteClause);
40247 int _la;
40248 try {
40249 enterOuterAlt(_localctx, 1);
40250 {
40251 setState(5579);
40252 identifier();
40253 setState(5581);
40254 _errHandler.sync(this);
40255 _la = _input.LA(1);
40256 if (_la==LP_) {
40257 {
40258 setState(5580);
40259 columnNames();
40260 }
40261 }
40262
40263 setState(5583);
40264 match(AS);
40265 setState(5584);
40266 subquery();
40267 }
40268 }
40269 catch (RecognitionException re) {
40270 _localctx.exception = re;
40271 _errHandler.reportError(this, re);
40272 _errHandler.recover(this, re);
40273 }
40274 finally {
40275 exitRule();
40276 }
40277 return _localctx;
40278 }
40279
40280 public static class OutputClauseContext extends ParserRuleContext {
40281 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
40282 public OutputWithColumnsContext outputWithColumns() {
40283 return getRuleContext(OutputWithColumnsContext.class,0);
40284 }
40285 public OutputWithAateriskContext outputWithAaterisk() {
40286 return getRuleContext(OutputWithAateriskContext.class,0);
40287 }
40288 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
40289 public OutputTableNameContext outputTableName() {
40290 return getRuleContext(OutputTableNameContext.class,0);
40291 }
40292 public ColumnNamesContext columnNames() {
40293 return getRuleContext(ColumnNamesContext.class,0);
40294 }
40295 public OutputClauseContext(ParserRuleContext parent, int invokingState) {
40296 super(parent, invokingState);
40297 }
40298 @Override public int getRuleIndex() { return RULE_outputClause; }
40299 @Override
40300 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40301 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputClause(this);
40302 else return visitor.visitChildren(this);
40303 }
40304 }
40305
40306 public final OutputClauseContext outputClause() throws RecognitionException {
40307 OutputClauseContext _localctx = new OutputClauseContext(_ctx, getState());
40308 enterRule(_localctx, 784, RULE_outputClause);
40309 int _la;
40310 try {
40311 enterOuterAlt(_localctx, 1);
40312 {
40313 setState(5586);
40314 match(OUTPUT);
40315 setState(5589);
40316 _errHandler.sync(this);
40317 switch ( getInterpreter().adaptivePredict(_input,647,_ctx) ) {
40318 case 1:
40319 {
40320 setState(5587);
40321 outputWithColumns();
40322 }
40323 break;
40324 case 2:
40325 {
40326 setState(5588);
40327 outputWithAaterisk();
40328 }
40329 break;
40330 }
40331 setState(5596);
40332 _errHandler.sync(this);
40333 _la = _input.LA(1);
40334 if (_la==INTO) {
40335 {
40336 setState(5591);
40337 match(INTO);
40338 setState(5592);
40339 outputTableName();
40340 setState(5594);
40341 _errHandler.sync(this);
40342 _la = _input.LA(1);
40343 if (_la==LP_) {
40344 {
40345 setState(5593);
40346 columnNames();
40347 }
40348 }
40349
40350 }
40351 }
40352
40353 }
40354 }
40355 catch (RecognitionException re) {
40356 _localctx.exception = re;
40357 _errHandler.reportError(this, re);
40358 _errHandler.recover(this, re);
40359 }
40360 finally {
40361 exitRule();
40362 }
40363 return _localctx;
40364 }
40365
40366 public static class OutputWithColumnsContext extends ParserRuleContext {
40367 public List<OutputWithColumnContext> outputWithColumn() {
40368 return getRuleContexts(OutputWithColumnContext.class);
40369 }
40370 public OutputWithColumnContext outputWithColumn(int i) {
40371 return getRuleContext(OutputWithColumnContext.class,i);
40372 }
40373 public List<ScalarExpressionContext> scalarExpression() {
40374 return getRuleContexts(ScalarExpressionContext.class);
40375 }
40376 public ScalarExpressionContext scalarExpression(int i) {
40377 return getRuleContext(ScalarExpressionContext.class,i);
40378 }
40379 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40380 public TerminalNode COMMA_(int i) {
40381 return getToken(SQLServerStatementParser.COMMA_, i);
40382 }
40383 public OutputWithColumnsContext(ParserRuleContext parent, int invokingState) {
40384 super(parent, invokingState);
40385 }
40386 @Override public int getRuleIndex() { return RULE_outputWithColumns; }
40387 @Override
40388 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40389 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumns(this);
40390 else return visitor.visitChildren(this);
40391 }
40392 }
40393
40394 public final OutputWithColumnsContext outputWithColumns() throws RecognitionException {
40395 OutputWithColumnsContext _localctx = new OutputWithColumnsContext(_ctx, getState());
40396 enterRule(_localctx, 786, RULE_outputWithColumns);
40397 int _la;
40398 try {
40399 enterOuterAlt(_localctx, 1);
40400 {
40401 setState(5600);
40402 _errHandler.sync(this);
40403 switch ( getInterpreter().adaptivePredict(_input,650,_ctx) ) {
40404 case 1:
40405 {
40406 setState(5598);
40407 outputWithColumn();
40408 }
40409 break;
40410 case 2:
40411 {
40412 setState(5599);
40413 scalarExpression();
40414 }
40415 break;
40416 }
40417 setState(5609);
40418 _errHandler.sync(this);
40419 _la = _input.LA(1);
40420 while (_la==COMMA_) {
40421 {
40422 {
40423 setState(5602);
40424 match(COMMA_);
40425 setState(5605);
40426 _errHandler.sync(this);
40427 switch ( getInterpreter().adaptivePredict(_input,651,_ctx) ) {
40428 case 1:
40429 {
40430 setState(5603);
40431 outputWithColumn();
40432 }
40433 break;
40434 case 2:
40435 {
40436 setState(5604);
40437 scalarExpression();
40438 }
40439 break;
40440 }
40441 }
40442 }
40443 setState(5611);
40444 _errHandler.sync(this);
40445 _la = _input.LA(1);
40446 }
40447 }
40448 }
40449 catch (RecognitionException re) {
40450 _localctx.exception = re;
40451 _errHandler.reportError(this, re);
40452 _errHandler.recover(this, re);
40453 }
40454 finally {
40455 exitRule();
40456 }
40457 return _localctx;
40458 }
40459
40460 public static class ScalarExpressionContext extends ParserRuleContext {
40461 public ExprContext expr() {
40462 return getRuleContext(ExprContext.class,0);
40463 }
40464 public AliasContext alias() {
40465 return getRuleContext(AliasContext.class,0);
40466 }
40467 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40468 public ScalarExpressionContext(ParserRuleContext parent, int invokingState) {
40469 super(parent, invokingState);
40470 }
40471 @Override public int getRuleIndex() { return RULE_scalarExpression; }
40472 @Override
40473 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40474 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScalarExpression(this);
40475 else return visitor.visitChildren(this);
40476 }
40477 }
40478
40479 public final ScalarExpressionContext scalarExpression() throws RecognitionException {
40480 ScalarExpressionContext _localctx = new ScalarExpressionContext(_ctx, getState());
40481 enterRule(_localctx, 788, RULE_scalarExpression);
40482 int _la;
40483 try {
40484 enterOuterAlt(_localctx, 1);
40485 {
40486 setState(5612);
40487 expr(0);
40488 setState(5617);
40489 _errHandler.sync(this);
40490 switch ( getInterpreter().adaptivePredict(_input,654,_ctx) ) {
40491 case 1:
40492 {
40493 setState(5614);
40494 _errHandler.sync(this);
40495 _la = _input.LA(1);
40496 if (_la==AS) {
40497 {
40498 setState(5613);
40499 match(AS);
40500 }
40501 }
40502
40503 setState(5616);
40504 alias();
40505 }
40506 break;
40507 }
40508 }
40509 }
40510 catch (RecognitionException re) {
40511 _localctx.exception = re;
40512 _errHandler.reportError(this, re);
40513 _errHandler.recover(this, re);
40514 }
40515 finally {
40516 exitRule();
40517 }
40518 return _localctx;
40519 }
40520
40521 public static class OutputWithColumnContext extends ParserRuleContext {
40522 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
40523 public NameContext name() {
40524 return getRuleContext(NameContext.class,0);
40525 }
40526 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
40527 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
40528 public AliasContext alias() {
40529 return getRuleContext(AliasContext.class,0);
40530 }
40531 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40532 public OutputWithColumnContext(ParserRuleContext parent, int invokingState) {
40533 super(parent, invokingState);
40534 }
40535 @Override public int getRuleIndex() { return RULE_outputWithColumn; }
40536 @Override
40537 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40538 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumn(this);
40539 else return visitor.visitChildren(this);
40540 }
40541 }
40542
40543 public final OutputWithColumnContext outputWithColumn() throws RecognitionException {
40544 OutputWithColumnContext _localctx = new OutputWithColumnContext(_ctx, getState());
40545 enterRule(_localctx, 790, RULE_outputWithColumn);
40546 int _la;
40547 try {
40548 enterOuterAlt(_localctx, 1);
40549 {
40550 setState(5619);
40551 _la = _input.LA(1);
40552 if ( !(_la==INSERTED || _la==DELETED) ) {
40553 _errHandler.recoverInline(this);
40554 }
40555 else {
40556 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40557 _errHandler.reportMatch(this);
40558 consume();
40559 }
40560 setState(5620);
40561 match(DOT_);
40562 setState(5621);
40563 name();
40564 setState(5626);
40565 _errHandler.sync(this);
40566 switch ( getInterpreter().adaptivePredict(_input,656,_ctx) ) {
40567 case 1:
40568 {
40569 setState(5623);
40570 _errHandler.sync(this);
40571 _la = _input.LA(1);
40572 if (_la==AS) {
40573 {
40574 setState(5622);
40575 match(AS);
40576 }
40577 }
40578
40579 setState(5625);
40580 alias();
40581 }
40582 break;
40583 }
40584 }
40585 }
40586 catch (RecognitionException re) {
40587 _localctx.exception = re;
40588 _errHandler.reportError(this, re);
40589 _errHandler.recover(this, re);
40590 }
40591 finally {
40592 exitRule();
40593 }
40594 return _localctx;
40595 }
40596
40597 public static class OutputWithAateriskContext extends ParserRuleContext {
40598 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
40599 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
40600 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
40601 public OutputWithAateriskContext(ParserRuleContext parent, int invokingState) {
40602 super(parent, invokingState);
40603 }
40604 @Override public int getRuleIndex() { return RULE_outputWithAaterisk; }
40605 @Override
40606 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40607 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithAaterisk(this);
40608 else return visitor.visitChildren(this);
40609 }
40610 }
40611
40612 public final OutputWithAateriskContext outputWithAaterisk() throws RecognitionException {
40613 OutputWithAateriskContext _localctx = new OutputWithAateriskContext(_ctx, getState());
40614 enterRule(_localctx, 792, RULE_outputWithAaterisk);
40615 int _la;
40616 try {
40617 enterOuterAlt(_localctx, 1);
40618 {
40619 setState(5628);
40620 _la = _input.LA(1);
40621 if ( !(_la==INSERTED || _la==DELETED) ) {
40622 _errHandler.recoverInline(this);
40623 }
40624 else {
40625 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40626 _errHandler.reportMatch(this);
40627 consume();
40628 }
40629 setState(5629);
40630 match(DOT_ASTERISK_);
40631 }
40632 }
40633 catch (RecognitionException re) {
40634 _localctx.exception = re;
40635 _errHandler.reportError(this, re);
40636 _errHandler.recover(this, re);
40637 }
40638 finally {
40639 exitRule();
40640 }
40641 return _localctx;
40642 }
40643
40644 public static class OutputTableNameContext extends ParserRuleContext {
40645 public TableNameContext tableName() {
40646 return getRuleContext(TableNameContext.class,0);
40647 }
40648 public OutputTableNameContext(ParserRuleContext parent, int invokingState) {
40649 super(parent, invokingState);
40650 }
40651 @Override public int getRuleIndex() { return RULE_outputTableName; }
40652 @Override
40653 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40654 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputTableName(this);
40655 else return visitor.visitChildren(this);
40656 }
40657 }
40658
40659 public final OutputTableNameContext outputTableName() throws RecognitionException {
40660 OutputTableNameContext _localctx = new OutputTableNameContext(_ctx, getState());
40661 enterRule(_localctx, 794, RULE_outputTableName);
40662 try {
40663 enterOuterAlt(_localctx, 1);
40664 {
40665 setState(5631);
40666 tableName();
40667 }
40668 }
40669 catch (RecognitionException re) {
40670 _localctx.exception = re;
40671 _errHandler.reportError(this, re);
40672 _errHandler.recover(this, re);
40673 }
40674 finally {
40675 exitRule();
40676 }
40677 return _localctx;
40678 }
40679
40680 public static class QueryHintContext extends ParserRuleContext {
40681 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
40682 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
40683 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
40684 public TerminalNode UNION() { return getToken(SQLServerStatementParser.UNION, 0); }
40685 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
40686 public TerminalNode MERGE() { return getToken(SQLServerStatementParser.MERGE, 0); }
40687 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
40688 public TerminalNode LOOP() { return getToken(SQLServerStatementParser.LOOP, 0); }
40689 public TerminalNode EXPAND() { return getToken(SQLServerStatementParser.EXPAND, 0); }
40690 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
40691 public TerminalNode FAST() { return getToken(SQLServerStatementParser.FAST, 0); }
40692 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
40693 public TerminalNode FORCE() { return getToken(SQLServerStatementParser.FORCE, 0); }
40694 public TerminalNode EXTERNALPUSHDOWN() { return getToken(SQLServerStatementParser.EXTERNALPUSHDOWN, 0); }
40695 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
40696 public TerminalNode SCALEOUTEXECUTION() { return getToken(SQLServerStatementParser.SCALEOUTEXECUTION, 0); }
40697 public TerminalNode IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX() { return getToken(SQLServerStatementParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); }
40698 public TerminalNode KEEP() { return getToken(SQLServerStatementParser.KEEP, 0); }
40699 public TerminalNode PLAN() { return getToken(SQLServerStatementParser.PLAN, 0); }
40700 public TerminalNode KEEPFIXED() { return getToken(SQLServerStatementParser.KEEPFIXED, 0); }
40701 public TerminalNode MAX_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MAX_GRANT_PERCENT, 0); }
40702 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
40703 public TerminalNode EQ_(int i) {
40704 return getToken(SQLServerStatementParser.EQ_, i);
40705 }
40706 public TerminalNode DECIMAL_NUM_() { return getToken(SQLServerStatementParser.DECIMAL_NUM_, 0); }
40707 public TerminalNode MIN_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MIN_GRANT_PERCENT, 0); }
40708 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
40709 public TerminalNode MAXRECURSION() { return getToken(SQLServerStatementParser.MAXRECURSION, 0); }
40710 public TerminalNode NO_PERFORMANCE_SPOOL() { return getToken(SQLServerStatementParser.NO_PERFORMANCE_SPOOL, 0); }
40711 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
40712 public TerminalNode LP_(int i) {
40713 return getToken(SQLServerStatementParser.LP_, i);
40714 }
40715 public TerminalNode OPTIMIZE() { return getToken(SQLServerStatementParser.OPTIMIZE, 0); }
40716 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
40717 public VariableNameContext variableName() {
40718 return getRuleContext(VariableNameContext.class,0);
40719 }
40720 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
40721 public TerminalNode RP_(int i) {
40722 return getToken(SQLServerStatementParser.RP_, i);
40723 }
40724 public List<TerminalNode> UNKNOWN() { return getTokens(SQLServerStatementParser.UNKNOWN); }
40725 public TerminalNode UNKNOWN(int i) {
40726 return getToken(SQLServerStatementParser.UNKNOWN, i);
40727 }
40728 public List<LiteralsContext> literals() {
40729 return getRuleContexts(LiteralsContext.class);
40730 }
40731 public LiteralsContext literals(int i) {
40732 return getRuleContext(LiteralsContext.class,i);
40733 }
40734 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
40735 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
40736 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
40737 public TerminalNode QUERYTRACEON() { return getToken(SQLServerStatementParser.QUERYTRACEON, 0); }
40738 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
40739 public TerminalNode ROBUST() { return getToken(SQLServerStatementParser.ROBUST, 0); }
40740 public TerminalNode USE() { return getToken(SQLServerStatementParser.USE, 0); }
40741 public TerminalNode HINT() { return getToken(SQLServerStatementParser.HINT, 0); }
40742 public List<UseHitNameContext> useHitName() {
40743 return getRuleContexts(UseHitNameContext.class);
40744 }
40745 public UseHitNameContext useHitName(int i) {
40746 return getRuleContext(UseHitNameContext.class,i);
40747 }
40748 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
40749 public QueryHintContext(ParserRuleContext parent, int invokingState) {
40750 super(parent, invokingState);
40751 }
40752 @Override public int getRuleIndex() { return RULE_queryHint; }
40753 @Override
40754 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40755 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryHint(this);
40756 else return visitor.visitChildren(this);
40757 }
40758 }
40759
40760 public final QueryHintContext queryHint() throws RecognitionException {
40761 QueryHintContext _localctx = new QueryHintContext(_ctx, getState());
40762 enterRule(_localctx, 796, RULE_queryHint);
40763 int _la;
40764 try {
40765 setState(5704);
40766 _errHandler.sync(this);
40767 switch ( getInterpreter().adaptivePredict(_input,660,_ctx) ) {
40768 case 1:
40769 enterOuterAlt(_localctx, 1);
40770 {
40771 setState(5633);
40772 _la = _input.LA(1);
40773 if ( !(_la==ORDER || _la==HASH) ) {
40774 _errHandler.recoverInline(this);
40775 }
40776 else {
40777 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40778 _errHandler.reportMatch(this);
40779 consume();
40780 }
40781 setState(5634);
40782 match(GROUP);
40783 }
40784 break;
40785 case 2:
40786 enterOuterAlt(_localctx, 2);
40787 {
40788 setState(5635);
40789 _la = _input.LA(1);
40790 if ( !(_la==MERGE || _la==HASH || _la==CONCAT) ) {
40791 _errHandler.recoverInline(this);
40792 }
40793 else {
40794 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40795 _errHandler.reportMatch(this);
40796 consume();
40797 }
40798 setState(5636);
40799 match(UNION);
40800 }
40801 break;
40802 case 3:
40803 enterOuterAlt(_localctx, 3);
40804 {
40805 setState(5637);
40806 _la = _input.LA(1);
40807 if ( !(_la==MERGE || _la==LOOP || _la==HASH) ) {
40808 _errHandler.recoverInline(this);
40809 }
40810 else {
40811 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40812 _errHandler.reportMatch(this);
40813 consume();
40814 }
40815 setState(5638);
40816 match(JOIN);
40817 }
40818 break;
40819 case 4:
40820 enterOuterAlt(_localctx, 4);
40821 {
40822 setState(5639);
40823 match(EXPAND);
40824 setState(5640);
40825 match(VIEWS);
40826 }
40827 break;
40828 case 5:
40829 enterOuterAlt(_localctx, 5);
40830 {
40831 setState(5641);
40832 match(FAST);
40833 setState(5642);
40834 match(INT_NUM_);
40835 }
40836 break;
40837 case 6:
40838 enterOuterAlt(_localctx, 6);
40839 {
40840 setState(5643);
40841 match(FORCE);
40842 setState(5644);
40843 match(ORDER);
40844 }
40845 break;
40846 case 7:
40847 enterOuterAlt(_localctx, 7);
40848 {
40849 setState(5645);
40850 _la = _input.LA(1);
40851 if ( !(_la==DISABLE || _la==FORCE) ) {
40852 _errHandler.recoverInline(this);
40853 }
40854 else {
40855 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40856 _errHandler.reportMatch(this);
40857 consume();
40858 }
40859 setState(5646);
40860 match(EXTERNALPUSHDOWN);
40861 }
40862 break;
40863 case 8:
40864 enterOuterAlt(_localctx, 8);
40865 {
40866 setState(5647);
40867 _la = _input.LA(1);
40868 if ( !(_la==DISABLE || _la==FORCE) ) {
40869 _errHandler.recoverInline(this);
40870 }
40871 else {
40872 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40873 _errHandler.reportMatch(this);
40874 consume();
40875 }
40876 setState(5648);
40877 match(SCALEOUTEXECUTION);
40878 }
40879 break;
40880 case 9:
40881 enterOuterAlt(_localctx, 9);
40882 {
40883 setState(5649);
40884 match(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
40885 }
40886 break;
40887 case 10:
40888 enterOuterAlt(_localctx, 10);
40889 {
40890 setState(5650);
40891 match(KEEP);
40892 setState(5651);
40893 match(PLAN);
40894 }
40895 break;
40896 case 11:
40897 enterOuterAlt(_localctx, 11);
40898 {
40899 setState(5652);
40900 match(KEEPFIXED);
40901 setState(5653);
40902 match(PLAN);
40903 }
40904 break;
40905 case 12:
40906 enterOuterAlt(_localctx, 12);
40907 {
40908 setState(5654);
40909 match(MAX_GRANT_PERCENT);
40910 setState(5655);
40911 match(EQ_);
40912 setState(5656);
40913 match(DECIMAL_NUM_);
40914 }
40915 break;
40916 case 13:
40917 enterOuterAlt(_localctx, 13);
40918 {
40919 setState(5657);
40920 match(MIN_GRANT_PERCENT);
40921 setState(5658);
40922 match(EQ_);
40923 setState(5659);
40924 match(DECIMAL_NUM_);
40925 }
40926 break;
40927 case 14:
40928 enterOuterAlt(_localctx, 14);
40929 {
40930 setState(5660);
40931 match(MAXDOP);
40932 setState(5661);
40933 match(INT_NUM_);
40934 }
40935 break;
40936 case 15:
40937 enterOuterAlt(_localctx, 15);
40938 {
40939 setState(5662);
40940 match(MAXRECURSION);
40941 setState(5663);
40942 match(INT_NUM_);
40943 }
40944 break;
40945 case 16:
40946 enterOuterAlt(_localctx, 16);
40947 {
40948 setState(5664);
40949 match(NO_PERFORMANCE_SPOOL);
40950 }
40951 break;
40952 case 17:
40953 enterOuterAlt(_localctx, 17);
40954 {
40955 setState(5665);
40956 match(LP_);
40957 setState(5666);
40958 match(OPTIMIZE);
40959 setState(5667);
40960 match(FOR);
40961 setState(5668);
40962 match(LP_);
40963 setState(5669);
40964 variableName();
40965 setState(5675);
40966 _errHandler.sync(this);
40967 _la = _input.LA(1);
40968 while (_la==EQ_ || _la==UNKNOWN) {
40969 {
40970 setState(5673);
40971 _errHandler.sync(this);
40972 switch (_input.LA(1)) {
40973 case UNKNOWN:
40974 {
40975 setState(5670);
40976 match(UNKNOWN);
40977 }
40978 break;
40979 case EQ_:
40980 {
40981 setState(5671);
40982 match(EQ_);
40983 setState(5672);
40984 literals();
40985 }
40986 break;
40987 default:
40988 throw new NoViableAltException(this);
40989 }
40990 }
40991 setState(5677);
40992 _errHandler.sync(this);
40993 _la = _input.LA(1);
40994 }
40995 setState(5678);
40996 match(RP_);
40997 setState(5679);
40998 match(RP_);
40999 }
41000 break;
41001 case 18:
41002 enterOuterAlt(_localctx, 18);
41003 {
41004 setState(5681);
41005 match(OPTIMIZE);
41006 setState(5682);
41007 match(FOR);
41008 setState(5683);
41009 match(UNKNOWN);
41010 }
41011 break;
41012 case 19:
41013 enterOuterAlt(_localctx, 19);
41014 {
41015 setState(5684);
41016 match(PARAMETERIZATION);
41017 setState(5685);
41018 _la = _input.LA(1);
41019 if ( !(_la==SIMPLE || _la==FORCED) ) {
41020 _errHandler.recoverInline(this);
41021 }
41022 else {
41023 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41024 _errHandler.reportMatch(this);
41025 consume();
41026 }
41027 }
41028 break;
41029 case 20:
41030 enterOuterAlt(_localctx, 20);
41031 {
41032 setState(5686);
41033 match(QUERYTRACEON);
41034 setState(5687);
41035 match(INT_NUM_);
41036 }
41037 break;
41038 case 21:
41039 enterOuterAlt(_localctx, 21);
41040 {
41041 setState(5688);
41042 match(RECOMPILE);
41043 }
41044 break;
41045 case 22:
41046 enterOuterAlt(_localctx, 22);
41047 {
41048 setState(5689);
41049 match(ROBUST);
41050 setState(5690);
41051 match(PLAN);
41052 }
41053 break;
41054 case 23:
41055 enterOuterAlt(_localctx, 23);
41056 {
41057 setState(5691);
41058 match(USE);
41059 setState(5692);
41060 match(HINT);
41061 setState(5693);
41062 match(LP_);
41063 setState(5697);
41064 _errHandler.sync(this);
41065 _la = _input.LA(1);
41066 while (_la==SQ_) {
41067 {
41068 {
41069 setState(5694);
41070 useHitName();
41071 }
41072 }
41073 setState(5699);
41074 _errHandler.sync(this);
41075 _la = _input.LA(1);
41076 }
41077 setState(5700);
41078 match(RP_);
41079 }
41080 break;
41081 case 24:
41082 enterOuterAlt(_localctx, 24);
41083 {
41084 setState(5701);
41085 match(USE);
41086 setState(5702);
41087 match(PLAN);
41088 setState(5703);
41089 match(NCHAR_TEXT);
41090 }
41091 break;
41092 }
41093 }
41094 catch (RecognitionException re) {
41095 _localctx.exception = re;
41096 _errHandler.reportError(this, re);
41097 _errHandler.recover(this, re);
41098 }
41099 finally {
41100 exitRule();
41101 }
41102 return _localctx;
41103 }
41104
41105 public static class UseHitNameContext extends ParserRuleContext {
41106 public List<TerminalNode> SQ_() { return getTokens(SQLServerStatementParser.SQ_); }
41107 public TerminalNode SQ_(int i) {
41108 return getToken(SQLServerStatementParser.SQ_, i);
41109 }
41110 public TerminalNode ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS() { return getToken(SQLServerStatementParser.ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS, 0); }
41111 public TerminalNode ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES() { return getToken(SQLServerStatementParser.ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES, 0); }
41112 public TerminalNode DISABLE_BATCH_MODE_ADAPTIVE_JOINS() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_ADAPTIVE_JOINS, 0); }
41113 public TerminalNode DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK, 0); }
41114 public TerminalNode DISABLE_DEFERRED_COMPILATION_TV() { return getToken(SQLServerStatementParser.DISABLE_DEFERRED_COMPILATION_TV, 0); }
41115 public TerminalNode DISABLE_INTERLEAVED_EXECUTION_TVF() { return getToken(SQLServerStatementParser.DISABLE_INTERLEAVED_EXECUTION_TVF, 0); }
41116 public TerminalNode DISABLE_OPTIMIZED_NESTED_LOOP() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZED_NESTED_LOOP, 0); }
41117 public TerminalNode DISABLE_OPTIMIZER_ROWGOAL() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZER_ROWGOAL, 0); }
41118 public TerminalNode DISABLE_PARAMETER_SNIFFING() { return getToken(SQLServerStatementParser.DISABLE_PARAMETER_SNIFFING, 0); }
41119 public TerminalNode DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK, 0); }
41120 public TerminalNode DISABLE_TSQL_SCALAR_UDF_INLINING() { return getToken(SQLServerStatementParser.DISABLE_TSQL_SCALAR_UDF_INLINING, 0); }
41121 public TerminalNode DISALLOW_BATCH_MODE() { return getToken(SQLServerStatementParser.DISALLOW_BATCH_MODE, 0); }
41122 public TerminalNode ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS() { return getToken(SQLServerStatementParser.ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS, 0); }
41123 public TerminalNode ENABLE_QUERY_OPTIMIZER_HOTFIXES() { return getToken(SQLServerStatementParser.ENABLE_QUERY_OPTIMIZER_HOTFIXES, 0); }
41124 public TerminalNode FORCE_DEFAULT_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_DEFAULT_CARDINALITY_ESTIMATION, 0); }
41125 public TerminalNode FORCE_LEGACY_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_LEGACY_CARDINALITY_ESTIMATION, 0); }
41126 public TerminalNode QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n() { return getToken(SQLServerStatementParser.QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n, 0); }
41127 public TerminalNode QUERY_PLAN_PROFILE() { return getToken(SQLServerStatementParser.QUERY_PLAN_PROFILE, 0); }
41128 public UseHitNameContext(ParserRuleContext parent, int invokingState) {
41129 super(parent, invokingState);
41130 }
41131 @Override public int getRuleIndex() { return RULE_useHitName; }
41132 @Override
41133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUseHitName(this);
41135 else return visitor.visitChildren(this);
41136 }
41137 }
41138
41139 public final UseHitNameContext useHitName() throws RecognitionException {
41140 UseHitNameContext _localctx = new UseHitNameContext(_ctx, getState());
41141 enterRule(_localctx, 798, RULE_useHitName);
41142 try {
41143 setState(5760);
41144 _errHandler.sync(this);
41145 switch ( getInterpreter().adaptivePredict(_input,661,_ctx) ) {
41146 case 1:
41147 enterOuterAlt(_localctx, 1);
41148 {
41149 setState(5706);
41150 match(SQ_);
41151 setState(5707);
41152 match(ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS);
41153 setState(5708);
41154 match(SQ_);
41155 }
41156 break;
41157 case 2:
41158 enterOuterAlt(_localctx, 2);
41159 {
41160 setState(5709);
41161 match(SQ_);
41162 setState(5710);
41163 match(ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES);
41164 setState(5711);
41165 match(SQ_);
41166 }
41167 break;
41168 case 3:
41169 enterOuterAlt(_localctx, 3);
41170 {
41171 setState(5712);
41172 match(SQ_);
41173 setState(5713);
41174 match(DISABLE_BATCH_MODE_ADAPTIVE_JOINS);
41175 setState(5714);
41176 match(SQ_);
41177 }
41178 break;
41179 case 4:
41180 enterOuterAlt(_localctx, 4);
41181 {
41182 setState(5715);
41183 match(SQ_);
41184 setState(5716);
41185 match(DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK);
41186 setState(5717);
41187 match(SQ_);
41188 }
41189 break;
41190 case 5:
41191 enterOuterAlt(_localctx, 5);
41192 {
41193 setState(5718);
41194 match(SQ_);
41195 setState(5719);
41196 match(DISABLE_DEFERRED_COMPILATION_TV);
41197 setState(5720);
41198 match(SQ_);
41199 }
41200 break;
41201 case 6:
41202 enterOuterAlt(_localctx, 6);
41203 {
41204 setState(5721);
41205 match(SQ_);
41206 setState(5722);
41207 match(DISABLE_INTERLEAVED_EXECUTION_TVF);
41208 setState(5723);
41209 match(SQ_);
41210 }
41211 break;
41212 case 7:
41213 enterOuterAlt(_localctx, 7);
41214 {
41215 setState(5724);
41216 match(SQ_);
41217 setState(5725);
41218 match(DISABLE_OPTIMIZED_NESTED_LOOP);
41219 setState(5726);
41220 match(SQ_);
41221 }
41222 break;
41223 case 8:
41224 enterOuterAlt(_localctx, 8);
41225 {
41226 setState(5727);
41227 match(SQ_);
41228 setState(5728);
41229 match(DISABLE_OPTIMIZER_ROWGOAL);
41230 setState(5729);
41231 match(SQ_);
41232 }
41233 break;
41234 case 9:
41235 enterOuterAlt(_localctx, 9);
41236 {
41237 setState(5730);
41238 match(SQ_);
41239 setState(5731);
41240 match(DISABLE_PARAMETER_SNIFFING);
41241 setState(5732);
41242 match(SQ_);
41243 }
41244 break;
41245 case 10:
41246 enterOuterAlt(_localctx, 10);
41247 {
41248 setState(5733);
41249 match(SQ_);
41250 setState(5734);
41251 match(DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK);
41252 setState(5735);
41253 match(SQ_);
41254 }
41255 break;
41256 case 11:
41257 enterOuterAlt(_localctx, 11);
41258 {
41259 setState(5736);
41260 match(SQ_);
41261 setState(5737);
41262 match(DISABLE_TSQL_SCALAR_UDF_INLINING);
41263 setState(5738);
41264 match(SQ_);
41265 }
41266 break;
41267 case 12:
41268 enterOuterAlt(_localctx, 12);
41269 {
41270 setState(5739);
41271 match(SQ_);
41272 setState(5740);
41273 match(DISALLOW_BATCH_MODE);
41274 setState(5741);
41275 match(SQ_);
41276 }
41277 break;
41278 case 13:
41279 enterOuterAlt(_localctx, 13);
41280 {
41281 setState(5742);
41282 match(SQ_);
41283 setState(5743);
41284 match(ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS);
41285 setState(5744);
41286 match(SQ_);
41287 }
41288 break;
41289 case 14:
41290 enterOuterAlt(_localctx, 14);
41291 {
41292 setState(5745);
41293 match(SQ_);
41294 setState(5746);
41295 match(ENABLE_QUERY_OPTIMIZER_HOTFIXES);
41296 setState(5747);
41297 match(SQ_);
41298 }
41299 break;
41300 case 15:
41301 enterOuterAlt(_localctx, 15);
41302 {
41303 setState(5748);
41304 match(SQ_);
41305 setState(5749);
41306 match(FORCE_DEFAULT_CARDINALITY_ESTIMATION);
41307 setState(5750);
41308 match(SQ_);
41309 }
41310 break;
41311 case 16:
41312 enterOuterAlt(_localctx, 16);
41313 {
41314 setState(5751);
41315 match(SQ_);
41316 setState(5752);
41317 match(FORCE_LEGACY_CARDINALITY_ESTIMATION);
41318 setState(5753);
41319 match(SQ_);
41320 }
41321 break;
41322 case 17:
41323 enterOuterAlt(_localctx, 17);
41324 {
41325 setState(5754);
41326 match(SQ_);
41327 setState(5755);
41328 match(QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n);
41329 setState(5756);
41330 match(SQ_);
41331 }
41332 break;
41333 case 18:
41334 enterOuterAlt(_localctx, 18);
41335 {
41336 setState(5757);
41337 match(SQ_);
41338 setState(5758);
41339 match(QUERY_PLAN_PROFILE);
41340 setState(5759);
41341 match(SQ_);
41342 }
41343 break;
41344 }
41345 }
41346 catch (RecognitionException re) {
41347 _localctx.exception = re;
41348 _errHandler.reportError(this, re);
41349 _errHandler.recover(this, re);
41350 }
41351 finally {
41352 exitRule();
41353 }
41354 return _localctx;
41355 }
41356
41357 public static class ForClauseContext extends ParserRuleContext {
41358 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
41359 public TerminalNode BROWSE() { return getToken(SQLServerStatementParser.BROWSE, 0); }
41360 public ForXmlClauseContext forXmlClause() {
41361 return getRuleContext(ForXmlClauseContext.class,0);
41362 }
41363 public ForJsonClauseContext forJsonClause() {
41364 return getRuleContext(ForJsonClauseContext.class,0);
41365 }
41366 public ForClauseContext(ParserRuleContext parent, int invokingState) {
41367 super(parent, invokingState);
41368 }
41369 @Override public int getRuleIndex() { return RULE_forClause; }
41370 @Override
41371 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41372 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForClause(this);
41373 else return visitor.visitChildren(this);
41374 }
41375 }
41376
41377 public final ForClauseContext forClause() throws RecognitionException {
41378 ForClauseContext _localctx = new ForClauseContext(_ctx, getState());
41379 enterRule(_localctx, 800, RULE_forClause);
41380 try {
41381 enterOuterAlt(_localctx, 1);
41382 {
41383 setState(5762);
41384 match(FOR);
41385 setState(5766);
41386 _errHandler.sync(this);
41387 switch (_input.LA(1)) {
41388 case BROWSE:
41389 {
41390 setState(5763);
41391 match(BROWSE);
41392 }
41393 break;
41394 case XML:
41395 {
41396 setState(5764);
41397 forXmlClause();
41398 }
41399 break;
41400 case JSON:
41401 {
41402 setState(5765);
41403 forJsonClause();
41404 }
41405 break;
41406 default:
41407 throw new NoViableAltException(this);
41408 }
41409 }
41410 }
41411 catch (RecognitionException re) {
41412 _localctx.exception = re;
41413 _errHandler.reportError(this, re);
41414 _errHandler.recover(this, re);
41415 }
41416 finally {
41417 exitRule();
41418 }
41419 return _localctx;
41420 }
41421
41422 public static class ForXmlClauseContext extends ParserRuleContext {
41423 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
41424 public TerminalNode EXPLICIT() { return getToken(SQLServerStatementParser.EXPLICIT, 0); }
41425 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
41426 public TerminalNode RAW() { return getToken(SQLServerStatementParser.RAW, 0); }
41427 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
41428 public CommonDirectivesForXmlContext commonDirectivesForXml() {
41429 return getRuleContext(CommonDirectivesForXmlContext.class,0);
41430 }
41431 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
41432 public TerminalNode LP_(int i) {
41433 return getToken(SQLServerStatementParser.LP_, i);
41434 }
41435 public List<StringLiteralsContext> stringLiterals() {
41436 return getRuleContexts(StringLiteralsContext.class);
41437 }
41438 public StringLiteralsContext stringLiterals(int i) {
41439 return getRuleContext(StringLiteralsContext.class,i);
41440 }
41441 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
41442 public TerminalNode RP_(int i) {
41443 return getToken(SQLServerStatementParser.RP_, i);
41444 }
41445 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41446 public TerminalNode COMMA_(int i) {
41447 return getToken(SQLServerStatementParser.COMMA_, i);
41448 }
41449 public TerminalNode ELEMENTS() { return getToken(SQLServerStatementParser.ELEMENTS, 0); }
41450 public TerminalNode XMLDATA() { return getToken(SQLServerStatementParser.XMLDATA, 0); }
41451 public TerminalNode XMLSCHEMA() { return getToken(SQLServerStatementParser.XMLSCHEMA, 0); }
41452 public TerminalNode XSINIL() { return getToken(SQLServerStatementParser.XSINIL, 0); }
41453 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
41454 public ForXmlClauseContext(ParserRuleContext parent, int invokingState) {
41455 super(parent, invokingState);
41456 }
41457 @Override public int getRuleIndex() { return RULE_forXmlClause; }
41458 @Override
41459 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41460 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForXmlClause(this);
41461 else return visitor.visitChildren(this);
41462 }
41463 }
41464
41465 public final ForXmlClauseContext forXmlClause() throws RecognitionException {
41466 ForXmlClauseContext _localctx = new ForXmlClauseContext(_ctx, getState());
41467 enterRule(_localctx, 802, RULE_forXmlClause);
41468 int _la;
41469 try {
41470 enterOuterAlt(_localctx, 1);
41471 {
41472 setState(5768);
41473 match(XML);
41474 setState(5827);
41475 _errHandler.sync(this);
41476 switch (_input.LA(1)) {
41477 case AUTO:
41478 case RAW:
41479 {
41480 setState(5777);
41481 _errHandler.sync(this);
41482 switch (_input.LA(1)) {
41483 case RAW:
41484 {
41485 setState(5769);
41486 match(RAW);
41487 setState(5774);
41488 _errHandler.sync(this);
41489 _la = _input.LA(1);
41490 if (_la==LP_) {
41491 {
41492 setState(5770);
41493 match(LP_);
41494 setState(5771);
41495 stringLiterals();
41496 setState(5772);
41497 match(RP_);
41498 }
41499 }
41500
41501 }
41502 break;
41503 case AUTO:
41504 {
41505 setState(5776);
41506 match(AUTO);
41507 }
41508 break;
41509 default:
41510 throw new NoViableAltException(this);
41511 }
41512 setState(5800);
41513 _errHandler.sync(this);
41514 switch ( getInterpreter().adaptivePredict(_input,670,_ctx) ) {
41515 case 1:
41516 {
41517 setState(5779);
41518 commonDirectivesForXml();
41519 setState(5791);
41520 _errHandler.sync(this);
41521 switch ( getInterpreter().adaptivePredict(_input,667,_ctx) ) {
41522 case 1:
41523 {
41524 setState(5780);
41525 match(COMMA_);
41526 setState(5789);
41527 _errHandler.sync(this);
41528 switch (_input.LA(1)) {
41529 case XMLDATA:
41530 {
41531 setState(5781);
41532 match(XMLDATA);
41533 }
41534 break;
41535 case XMLSCHEMA:
41536 {
41537 setState(5782);
41538 match(XMLSCHEMA);
41539 setState(5787);
41540 _errHandler.sync(this);
41541 _la = _input.LA(1);
41542 if (_la==LP_) {
41543 {
41544 setState(5783);
41545 match(LP_);
41546 setState(5784);
41547 stringLiterals();
41548 setState(5785);
41549 match(RP_);
41550 }
41551 }
41552
41553 }
41554 break;
41555 default:
41556 throw new NoViableAltException(this);
41557 }
41558 }
41559 break;
41560 }
41561 setState(5798);
41562 _errHandler.sync(this);
41563 _la = _input.LA(1);
41564 if (_la==COMMA_) {
41565 {
41566 setState(5793);
41567 match(COMMA_);
41568 setState(5794);
41569 match(ELEMENTS);
41570 setState(5796);
41571 _errHandler.sync(this);
41572 _la = _input.LA(1);
41573 if (_la==XSINIL || _la==ABSENT) {
41574 {
41575 setState(5795);
41576 _la = _input.LA(1);
41577 if ( !(_la==XSINIL || _la==ABSENT) ) {
41578 _errHandler.recoverInline(this);
41579 }
41580 else {
41581 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41582 _errHandler.reportMatch(this);
41583 consume();
41584 }
41585 }
41586 }
41587
41588 }
41589 }
41590
41591 }
41592 break;
41593 }
41594 }
41595 break;
41596 case EXPLICIT:
41597 {
41598 setState(5802);
41599 match(EXPLICIT);
41600 setState(5808);
41601 _errHandler.sync(this);
41602 switch ( getInterpreter().adaptivePredict(_input,672,_ctx) ) {
41603 case 1:
41604 {
41605 setState(5803);
41606 commonDirectivesForXml();
41607 setState(5806);
41608 _errHandler.sync(this);
41609 _la = _input.LA(1);
41610 if (_la==COMMA_) {
41611 {
41612 setState(5804);
41613 match(COMMA_);
41614 setState(5805);
41615 match(XMLDATA);
41616 }
41617 }
41618
41619 }
41620 break;
41621 }
41622 }
41623 break;
41624 case PATH:
41625 {
41626 setState(5810);
41627 match(PATH);
41628 setState(5815);
41629 _errHandler.sync(this);
41630 _la = _input.LA(1);
41631 if (_la==LP_) {
41632 {
41633 setState(5811);
41634 match(LP_);
41635 setState(5812);
41636 stringLiterals();
41637 setState(5813);
41638 match(RP_);
41639 }
41640 }
41641
41642 setState(5825);
41643 _errHandler.sync(this);
41644 switch ( getInterpreter().adaptivePredict(_input,676,_ctx) ) {
41645 case 1:
41646 {
41647 setState(5817);
41648 commonDirectivesForXml();
41649 setState(5823);
41650 _errHandler.sync(this);
41651 _la = _input.LA(1);
41652 if (_la==COMMA_) {
41653 {
41654 setState(5818);
41655 match(COMMA_);
41656 setState(5819);
41657 match(ELEMENTS);
41658 setState(5821);
41659 _errHandler.sync(this);
41660 _la = _input.LA(1);
41661 if (_la==XSINIL || _la==ABSENT) {
41662 {
41663 setState(5820);
41664 _la = _input.LA(1);
41665 if ( !(_la==XSINIL || _la==ABSENT) ) {
41666 _errHandler.recoverInline(this);
41667 }
41668 else {
41669 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41670 _errHandler.reportMatch(this);
41671 consume();
41672 }
41673 }
41674 }
41675
41676 }
41677 }
41678
41679 }
41680 break;
41681 }
41682 }
41683 break;
41684 default:
41685 throw new NoViableAltException(this);
41686 }
41687 }
41688 }
41689 catch (RecognitionException re) {
41690 _localctx.exception = re;
41691 _errHandler.reportError(this, re);
41692 _errHandler.recover(this, re);
41693 }
41694 finally {
41695 exitRule();
41696 }
41697 return _localctx;
41698 }
41699
41700 public static class CommonDirectivesForXmlContext extends ParserRuleContext {
41701 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41702 public TerminalNode COMMA_(int i) {
41703 return getToken(SQLServerStatementParser.COMMA_, i);
41704 }
41705 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
41706 public TerminalNode BASE64() { return getToken(SQLServerStatementParser.BASE64, 0); }
41707 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
41708 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
41709 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41710 public StringLiteralsContext stringLiterals() {
41711 return getRuleContext(StringLiteralsContext.class,0);
41712 }
41713 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41714 public CommonDirectivesForXmlContext(ParserRuleContext parent, int invokingState) {
41715 super(parent, invokingState);
41716 }
41717 @Override public int getRuleIndex() { return RULE_commonDirectivesForXml; }
41718 @Override
41719 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41720 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonDirectivesForXml(this);
41721 else return visitor.visitChildren(this);
41722 }
41723 }
41724
41725 public final CommonDirectivesForXmlContext commonDirectivesForXml() throws RecognitionException {
41726 CommonDirectivesForXmlContext _localctx = new CommonDirectivesForXmlContext(_ctx, getState());
41727 enterRule(_localctx, 804, RULE_commonDirectivesForXml);
41728 int _la;
41729 try {
41730 enterOuterAlt(_localctx, 1);
41731 {
41732 setState(5832);
41733 _errHandler.sync(this);
41734 switch ( getInterpreter().adaptivePredict(_input,678,_ctx) ) {
41735 case 1:
41736 {
41737 setState(5829);
41738 match(COMMA_);
41739 setState(5830);
41740 match(BINARY);
41741 setState(5831);
41742 match(BASE64);
41743 }
41744 break;
41745 }
41746 setState(5836);
41747 _errHandler.sync(this);
41748 switch ( getInterpreter().adaptivePredict(_input,679,_ctx) ) {
41749 case 1:
41750 {
41751 setState(5834);
41752 match(COMMA_);
41753 setState(5835);
41754 match(TYPE);
41755 }
41756 break;
41757 }
41758 setState(5846);
41759 _errHandler.sync(this);
41760 switch ( getInterpreter().adaptivePredict(_input,681,_ctx) ) {
41761 case 1:
41762 {
41763 setState(5838);
41764 match(COMMA_);
41765 setState(5839);
41766 match(ROOT);
41767 setState(5844);
41768 _errHandler.sync(this);
41769 _la = _input.LA(1);
41770 if (_la==LP_) {
41771 {
41772 setState(5840);
41773 match(LP_);
41774 setState(5841);
41775 stringLiterals();
41776 setState(5842);
41777 match(RP_);
41778 }
41779 }
41780
41781 }
41782 break;
41783 }
41784 }
41785 }
41786 catch (RecognitionException re) {
41787 _localctx.exception = re;
41788 _errHandler.reportError(this, re);
41789 _errHandler.recover(this, re);
41790 }
41791 finally {
41792 exitRule();
41793 }
41794 return _localctx;
41795 }
41796
41797 public static class ForJsonClauseContext extends ParserRuleContext {
41798 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
41799 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
41800 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
41801 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41802 public TerminalNode COMMA_(int i) {
41803 return getToken(SQLServerStatementParser.COMMA_, i);
41804 }
41805 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
41806 public TerminalNode INCLUDE_NULL_VALUES() { return getToken(SQLServerStatementParser.INCLUDE_NULL_VALUES, 0); }
41807 public TerminalNode WITHOUT_ARRAY_WRAPPER() { return getToken(SQLServerStatementParser.WITHOUT_ARRAY_WRAPPER, 0); }
41808 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41809 public StringLiteralsContext stringLiterals() {
41810 return getRuleContext(StringLiteralsContext.class,0);
41811 }
41812 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41813 public ForJsonClauseContext(ParserRuleContext parent, int invokingState) {
41814 super(parent, invokingState);
41815 }
41816 @Override public int getRuleIndex() { return RULE_forJsonClause; }
41817 @Override
41818 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41819 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForJsonClause(this);
41820 else return visitor.visitChildren(this);
41821 }
41822 }
41823
41824 public final ForJsonClauseContext forJsonClause() throws RecognitionException {
41825 ForJsonClauseContext _localctx = new ForJsonClauseContext(_ctx, getState());
41826 enterRule(_localctx, 806, RULE_forJsonClause);
41827 int _la;
41828 try {
41829 enterOuterAlt(_localctx, 1);
41830 {
41831 setState(5848);
41832 match(JSON);
41833 {
41834 setState(5849);
41835 _la = _input.LA(1);
41836 if ( !(_la==AUTO || _la==PATH) ) {
41837 _errHandler.recoverInline(this);
41838 }
41839 else {
41840 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41841 _errHandler.reportMatch(this);
41842 consume();
41843 }
41844 setState(5868);
41845 _errHandler.sync(this);
41846 switch ( getInterpreter().adaptivePredict(_input,686,_ctx) ) {
41847 case 1:
41848 {
41849 setState(5858);
41850 _errHandler.sync(this);
41851 switch ( getInterpreter().adaptivePredict(_input,683,_ctx) ) {
41852 case 1:
41853 {
41854 setState(5850);
41855 match(COMMA_);
41856 setState(5851);
41857 match(ROOT);
41858 setState(5856);
41859 _errHandler.sync(this);
41860 _la = _input.LA(1);
41861 if (_la==LP_) {
41862 {
41863 setState(5852);
41864 match(LP_);
41865 setState(5853);
41866 stringLiterals();
41867 setState(5854);
41868 match(RP_);
41869 }
41870 }
41871
41872 }
41873 break;
41874 }
41875 setState(5862);
41876 _errHandler.sync(this);
41877 switch ( getInterpreter().adaptivePredict(_input,684,_ctx) ) {
41878 case 1:
41879 {
41880 setState(5860);
41881 match(COMMA_);
41882 setState(5861);
41883 match(INCLUDE_NULL_VALUES);
41884 }
41885 break;
41886 }
41887 setState(5866);
41888 _errHandler.sync(this);
41889 _la = _input.LA(1);
41890 if (_la==COMMA_) {
41891 {
41892 setState(5864);
41893 match(COMMA_);
41894 setState(5865);
41895 match(WITHOUT_ARRAY_WRAPPER);
41896 }
41897 }
41898
41899 }
41900 break;
41901 }
41902 }
41903 }
41904 }
41905 catch (RecognitionException re) {
41906 _localctx.exception = re;
41907 _errHandler.reportError(this, re);
41908 _errHandler.recover(this, re);
41909 }
41910 finally {
41911 exitRule();
41912 }
41913 return _localctx;
41914 }
41915
41916 public static class SelectWithClauseContext extends ParserRuleContext {
41917 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
41918 public XmlNamespacesClauseContext xmlNamespacesClause() {
41919 return getRuleContext(XmlNamespacesClauseContext.class,0);
41920 }
41921 public CteClauseSetContext cteClauseSet() {
41922 return getRuleContext(CteClauseSetContext.class,0);
41923 }
41924 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
41925 public SelectWithClauseContext(ParserRuleContext parent, int invokingState) {
41926 super(parent, invokingState);
41927 }
41928 @Override public int getRuleIndex() { return RULE_selectWithClause; }
41929 @Override
41930 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41931 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectWithClause(this);
41932 else return visitor.visitChildren(this);
41933 }
41934 }
41935
41936 public final SelectWithClauseContext selectWithClause() throws RecognitionException {
41937 SelectWithClauseContext _localctx = new SelectWithClauseContext(_ctx, getState());
41938 enterRule(_localctx, 808, RULE_selectWithClause);
41939 int _la;
41940 try {
41941 enterOuterAlt(_localctx, 1);
41942 {
41943 setState(5870);
41944 match(WITH);
41945 setState(5875);
41946 _errHandler.sync(this);
41947 _la = _input.LA(1);
41948 if (_la==XMLNAMESPACES) {
41949 {
41950 setState(5871);
41951 xmlNamespacesClause();
41952 setState(5873);
41953 _errHandler.sync(this);
41954 _la = _input.LA(1);
41955 if (_la==COMMA_) {
41956 {
41957 setState(5872);
41958 match(COMMA_);
41959 }
41960 }
41961
41962 }
41963 }
41964
41965 setState(5878);
41966 _errHandler.sync(this);
41967 _la = _input.LA(1);
41968 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (RIGHT - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (TOP - 248)) | (1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (USER - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANDOMIZED - 312)) | (1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (DATA - 376)) | (1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 440)) | (1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 505)) & ~0x3f) == 0 && ((1L << (_la - 505)) & ((1L << (FILENAME - 505)) | (1L << (SIZE - 505)) | (1L << (MAXSIZE - 505)) | (1L << (FILEGROWTH - 505)) | (1L << (UNLIMITED - 505)) | (1L << (KB - 505)) | (1L << (MB - 505)) | (1L << (GB - 505)) | (1L << (TB - 505)) | (1L << (CONTAINS - 505)) | (1L << (MEMORY_OPTIMIZED_DATA - 505)) | (1L << (FILEGROUP - 505)) | (1L << (NON_TRANSACTED_ACCESS - 505)) | (1L << (DB_CHAINING - 505)) | (1L << (TRUSTWORTHY - 505)) | (1L << (FORWARD_ONLY - 505)) | (1L << (KEYSET - 505)) | (1L << (FAST_FORWARD - 505)) | (1L << (SCROLL_LOCKS - 505)) | (1L << (OPTIMISTIC - 505)) | (1L << (TYPE_WARNING - 505)) | (1L << (SCHEMABINDING - 505)) | (1L << (CALLER - 505)) | (1L << (INPUT - 505)) | (1L << (OWNER - 505)) | (1L << (SNAPSHOT - 505)) | (1L << (REPEATABLE - 505)) | (1L << (SERIALIZABLE - 505)) | (1L << (NATIVE_COMPILATION - 505)) | (1L << (VIEW_METADATA - 505)) | (1L << (INSTEAD - 505)) | (1L << (APPEND - 505)) | (1L << (INCREMENT - 505)) | (1L << (CACHE - 505)) | (1L << (MINVALUE - 505)) | (1L << (MAXVALUE - 505)) | (1L << (RESTART - 505)) | (1L << (LOB_COMPACTION - 505)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 505)) | (1L << (REORGANIZE - 505)) | (1L << (RESUME - 505)) | (1L << (PAUSE - 505)) | (1L << (ABORT - 505)))) != 0) || ((((_la - 571)) & ~0x3f) == 0 && ((1L << (_la - 571)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 571)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 571)) | (1L << (IMMEDIATE - 571)) | (1L << (NO_WAIT - 571)) | (1L << (TARGET_RECOVERY_TIME - 571)) | (1L << (SECONDS - 571)) | (1L << (HONOR_BROKER_PRIORITY - 571)) | (1L << (ERROR_BROKER_CONVERSATIONS - 571)) | (1L << (NEW_BROKER - 571)) | (1L << (DISABLE_BROKER - 571)) | (1L << (ENABLE_BROKER - 571)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 571)) | (1L << (READ_COMMITTED_SNAPSHOT - 571)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 571)) | (1L << (RECURSIVE_TRIGGERS - 571)) | (1L << (QUOTED_IDENTIFIER - 571)) | (1L << (NUMERIC_ROUNDABORT - 571)) | (1L << (CONCAT_NULL_YIELDS_NULL - 571)) | (1L << (COMPATIBILITY_LEVEL - 571)) | (1L << (ARITHABORT - 571)) | (1L << (ANSI_WARNINGS - 571)) | (1L << (ANSI_PADDING - 571)) | (1L << (ANSI_NULLS - 571)) | (1L << (ANSI_NULL_DEFAULT - 571)) | (1L << (PAGE_VERIFY - 571)) | (1L << (CHECKSUM - 571)) | (1L << (TORN_PAGE_DETECTION - 571)) | (1L << (BULK_LOGGED - 571)) | (1L << (RECOVERY - 571)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 571)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 571)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 571)) | (1L << (EXECUTION_COUNT - 571)) | (1L << (QUERY_CAPTURE_POLICY - 571)) | (1L << (WAIT_STATS_CAPTURE_MODE - 571)) | (1L << (MAX_PLANS_PER_QUERY - 571)) | (1L << (QUERY_CAPTURE_MODE - 571)) | (1L << (SIZE_BASED_CLEANUP_MODE - 571)) | (1L << (INTERVAL_LENGTH_MINUTES - 571)) | (1L << (MAX_STORAGE_SIZE_MB - 571)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 571)) | (1L << (CLEANUP_POLICY - 571)) | (1L << (CUSTOM - 571)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 571)) | (1L << (OPERATION_MODE - 571)) | (1L << (QUERY_STORE - 571)) | (1L << (CURSOR_DEFAULT - 571)) | (1L << (GLOBAL - 571)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 571)) | (1L << (HOURS - 571)) | (1L << (CHANGE_RETENTION - 571)) | (1L << (AUTO_CLEANUP - 571)) | (1L << (CHANGE_TRACKING - 571)) | (1L << (AUTOMATIC_TUNING - 571)) | (1L << (FORCE_LAST_GOOD_PLAN - 571)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 571)) | (1L << (AUTO_UPDATE_STATISTICS - 571)) | (1L << (AUTO_SHRINK - 571)) | (1L << (AUTO_CREATE_STATISTICS - 571)) | (1L << (INCREMENTAL - 571)) | (1L << (AUTO_CLOSE - 571)) | (1L << (DATA_RETENTION - 571)) | (1L << (TEMPORAL_HISTORY_RETENTION - 571)) | (1L << (EDITION - 571)))) != 0) || ((((_la - 635)) & ~0x3f) == 0 && ((1L << (_la - 635)) & ((1L << (MIXED_PAGE_ALLOCATION - 635)) | (1L << (DISABLED - 635)) | (1L << (ALLOWED - 635)) | (1L << (HADR - 635)) | (1L << (MULTI_USER - 635)) | (1L << (RESTRICTED_USER - 635)) | (1L << (SINGLE_USER - 635)) | (1L << (OFFLINE - 635)) | (1L << (EMERGENCY - 635)) | (1L << (SUSPEND - 635)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 635)) | (1L << (ELASTIC_POOL - 635)) | (1L << (SERVICE_OBJECTIVE - 635)) | (1L << (DATABASE_NAME - 635)) | (1L << (ALLOW_CONNECTIONS - 635)) | (1L << (GEO - 635)) | (1L << (NAMED - 635)) | (1L << (DATEFIRST - 635)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 635)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 635)) | (1L << (SECONDARY - 635)) | (1L << (FAILOVER - 635)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 635)) | (1L << (DEFAULT_LANGUAGE - 635)) | (1L << (INLINE - 635)) | (1L << (NESTED_TRIGGERS - 635)) | (1L << (TRANSFORM_NOISE_WORDS - 635)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 635)) | (1L << (PERSISTENT_LOG_BUFFER - 635)) | (1L << (DIRECTORY_NAME - 635)) | (1L << (DATEFORMAT - 635)) | (1L << (DELAYED_DURABILITY - 635)) | (1L << (AUTHORIZATION - 635)) | (1L << (TRANSFER - 635)) | (1L << (PROVIDER - 635)) | (1L << (SID - 635)) | (1L << (SEARCH - 635)) | (1L << (MEMBER - 635)))) != 0) || ((((_la - 707)) & ~0x3f) == 0 && ((1L << (_la - 707)) & ((1L << (JSON - 707)) | (1L << (IDENTIFIER_ - 707)) | (1L << (DELIMITED_IDENTIFIER_ - 707)))) != 0)) {
41969 {
41970 setState(5877);
41971 cteClauseSet();
41972 }
41973 }
41974
41975 }
41976 }
41977 catch (RecognitionException re) {
41978 _localctx.exception = re;
41979 _errHandler.reportError(this, re);
41980 _errHandler.recover(this, re);
41981 }
41982 finally {
41983 exitRule();
41984 }
41985 return _localctx;
41986 }
41987
41988 public static class XmlNamespacesClauseContext extends ParserRuleContext {
41989 public TerminalNode XMLNAMESPACES() { return getToken(SQLServerStatementParser.XMLNAMESPACES, 0); }
41990 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41991 public List<XmlNamespaceDeclarationItemContext> xmlNamespaceDeclarationItem() {
41992 return getRuleContexts(XmlNamespaceDeclarationItemContext.class);
41993 }
41994 public XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem(int i) {
41995 return getRuleContext(XmlNamespaceDeclarationItemContext.class,i);
41996 }
41997 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41998 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41999 public TerminalNode COMMA_(int i) {
42000 return getToken(SQLServerStatementParser.COMMA_, i);
42001 }
42002 public XmlNamespacesClauseContext(ParserRuleContext parent, int invokingState) {
42003 super(parent, invokingState);
42004 }
42005 @Override public int getRuleIndex() { return RULE_xmlNamespacesClause; }
42006 @Override
42007 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42008 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacesClause(this);
42009 else return visitor.visitChildren(this);
42010 }
42011 }
42012
42013 public final XmlNamespacesClauseContext xmlNamespacesClause() throws RecognitionException {
42014 XmlNamespacesClauseContext _localctx = new XmlNamespacesClauseContext(_ctx, getState());
42015 enterRule(_localctx, 810, RULE_xmlNamespacesClause);
42016 int _la;
42017 try {
42018 enterOuterAlt(_localctx, 1);
42019 {
42020 setState(5880);
42021 match(XMLNAMESPACES);
42022 setState(5881);
42023 match(LP_);
42024 setState(5882);
42025 xmlNamespaceDeclarationItem();
42026 setState(5887);
42027 _errHandler.sync(this);
42028 _la = _input.LA(1);
42029 while (_la==COMMA_) {
42030 {
42031 {
42032 setState(5883);
42033 match(COMMA_);
42034 setState(5884);
42035 xmlNamespaceDeclarationItem();
42036 }
42037 }
42038 setState(5889);
42039 _errHandler.sync(this);
42040 _la = _input.LA(1);
42041 }
42042 setState(5890);
42043 match(RP_);
42044 }
42045 }
42046 catch (RecognitionException re) {
42047 _localctx.exception = re;
42048 _errHandler.reportError(this, re);
42049 _errHandler.recover(this, re);
42050 }
42051 finally {
42052 exitRule();
42053 }
42054 return _localctx;
42055 }
42056
42057 public static class XmlNamespaceDeclarationItemContext extends ParserRuleContext {
42058 public XmlNamespaceUriContext xmlNamespaceUri() {
42059 return getRuleContext(XmlNamespaceUriContext.class,0);
42060 }
42061 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42062 public XmlNamespacePrefixContext xmlNamespacePrefix() {
42063 return getRuleContext(XmlNamespacePrefixContext.class,0);
42064 }
42065 public XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() {
42066 return getRuleContext(XmlDefaultNamespaceDeclarationItemContext.class,0);
42067 }
42068 public XmlNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
42069 super(parent, invokingState);
42070 }
42071 @Override public int getRuleIndex() { return RULE_xmlNamespaceDeclarationItem; }
42072 @Override
42073 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42074 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceDeclarationItem(this);
42075 else return visitor.visitChildren(this);
42076 }
42077 }
42078
42079 public final XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem() throws RecognitionException {
42080 XmlNamespaceDeclarationItemContext _localctx = new XmlNamespaceDeclarationItemContext(_ctx, getState());
42081 enterRule(_localctx, 812, RULE_xmlNamespaceDeclarationItem);
42082 try {
42083 setState(5897);
42084 _errHandler.sync(this);
42085 switch (_input.LA(1)) {
42086 case STRING_:
42087 case NCHAR_TEXT:
42088 enterOuterAlt(_localctx, 1);
42089 {
42090 setState(5892);
42091 xmlNamespaceUri();
42092 setState(5893);
42093 match(AS);
42094 setState(5894);
42095 xmlNamespacePrefix();
42096 }
42097 break;
42098 case DEFAULT:
42099 enterOuterAlt(_localctx, 2);
42100 {
42101 setState(5896);
42102 xmlDefaultNamespaceDeclarationItem();
42103 }
42104 break;
42105 default:
42106 throw new NoViableAltException(this);
42107 }
42108 }
42109 catch (RecognitionException re) {
42110 _localctx.exception = re;
42111 _errHandler.reportError(this, re);
42112 _errHandler.recover(this, re);
42113 }
42114 finally {
42115 exitRule();
42116 }
42117 return _localctx;
42118 }
42119
42120 public static class XmlNamespaceUriContext extends ParserRuleContext {
42121 public StringLiteralsContext stringLiterals() {
42122 return getRuleContext(StringLiteralsContext.class,0);
42123 }
42124 public XmlNamespaceUriContext(ParserRuleContext parent, int invokingState) {
42125 super(parent, invokingState);
42126 }
42127 @Override public int getRuleIndex() { return RULE_xmlNamespaceUri; }
42128 @Override
42129 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42130 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceUri(this);
42131 else return visitor.visitChildren(this);
42132 }
42133 }
42134
42135 public final XmlNamespaceUriContext xmlNamespaceUri() throws RecognitionException {
42136 XmlNamespaceUriContext _localctx = new XmlNamespaceUriContext(_ctx, getState());
42137 enterRule(_localctx, 814, RULE_xmlNamespaceUri);
42138 try {
42139 enterOuterAlt(_localctx, 1);
42140 {
42141 setState(5899);
42142 stringLiterals();
42143 }
42144 }
42145 catch (RecognitionException re) {
42146 _localctx.exception = re;
42147 _errHandler.reportError(this, re);
42148 _errHandler.recover(this, re);
42149 }
42150 finally {
42151 exitRule();
42152 }
42153 return _localctx;
42154 }
42155
42156 public static class XmlNamespacePrefixContext extends ParserRuleContext {
42157 public IdentifierContext identifier() {
42158 return getRuleContext(IdentifierContext.class,0);
42159 }
42160 public XmlNamespacePrefixContext(ParserRuleContext parent, int invokingState) {
42161 super(parent, invokingState);
42162 }
42163 @Override public int getRuleIndex() { return RULE_xmlNamespacePrefix; }
42164 @Override
42165 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42166 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacePrefix(this);
42167 else return visitor.visitChildren(this);
42168 }
42169 }
42170
42171 public final XmlNamespacePrefixContext xmlNamespacePrefix() throws RecognitionException {
42172 XmlNamespacePrefixContext _localctx = new XmlNamespacePrefixContext(_ctx, getState());
42173 enterRule(_localctx, 816, RULE_xmlNamespacePrefix);
42174 try {
42175 enterOuterAlt(_localctx, 1);
42176 {
42177 setState(5901);
42178 identifier();
42179 }
42180 }
42181 catch (RecognitionException re) {
42182 _localctx.exception = re;
42183 _errHandler.reportError(this, re);
42184 _errHandler.recover(this, re);
42185 }
42186 finally {
42187 exitRule();
42188 }
42189 return _localctx;
42190 }
42191
42192 public static class XmlDefaultNamespaceDeclarationItemContext extends ParserRuleContext {
42193 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
42194 public XmlNamespaceUriContext xmlNamespaceUri() {
42195 return getRuleContext(XmlNamespaceUriContext.class,0);
42196 }
42197 public XmlDefaultNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
42198 super(parent, invokingState);
42199 }
42200 @Override public int getRuleIndex() { return RULE_xmlDefaultNamespaceDeclarationItem; }
42201 @Override
42202 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42203 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlDefaultNamespaceDeclarationItem(this);
42204 else return visitor.visitChildren(this);
42205 }
42206 }
42207
42208 public final XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() throws RecognitionException {
42209 XmlDefaultNamespaceDeclarationItemContext _localctx = new XmlDefaultNamespaceDeclarationItemContext(_ctx, getState());
42210 enterRule(_localctx, 818, RULE_xmlDefaultNamespaceDeclarationItem);
42211 try {
42212 enterOuterAlt(_localctx, 1);
42213 {
42214 setState(5903);
42215 match(DEFAULT);
42216 setState(5904);
42217 xmlNamespaceUri();
42218 }
42219 }
42220 catch (RecognitionException re) {
42221 _localctx.exception = re;
42222 _errHandler.reportError(this, re);
42223 _errHandler.recover(this, re);
42224 }
42225 finally {
42226 exitRule();
42227 }
42228 return _localctx;
42229 }
42230
42231 public static class GrantContext extends ParserRuleContext {
42232 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42233 public GrantClassPrivilegesClauseContext grantClassPrivilegesClause() {
42234 return getRuleContext(GrantClassPrivilegesClauseContext.class,0);
42235 }
42236 public GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() {
42237 return getRuleContext(GrantClassTypePrivilegesClauseContext.class,0);
42238 }
42239 public GrantContext(ParserRuleContext parent, int invokingState) {
42240 super(parent, invokingState);
42241 }
42242 @Override public int getRuleIndex() { return RULE_grant; }
42243 @Override
42244 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42245 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrant(this);
42246 else return visitor.visitChildren(this);
42247 }
42248 }
42249
42250 public final GrantContext grant() throws RecognitionException {
42251 GrantContext _localctx = new GrantContext(_ctx, getState());
42252 enterRule(_localctx, 820, RULE_grant);
42253 try {
42254 enterOuterAlt(_localctx, 1);
42255 {
42256 setState(5906);
42257 match(GRANT);
42258 setState(5909);
42259 _errHandler.sync(this);
42260 switch ( getInterpreter().adaptivePredict(_input,692,_ctx) ) {
42261 case 1:
42262 {
42263 setState(5907);
42264 grantClassPrivilegesClause();
42265 }
42266 break;
42267 case 2:
42268 {
42269 setState(5908);
42270 grantClassTypePrivilegesClause();
42271 }
42272 break;
42273 }
42274 }
42275 }
42276 catch (RecognitionException re) {
42277 _localctx.exception = re;
42278 _errHandler.reportError(this, re);
42279 _errHandler.recover(this, re);
42280 }
42281 finally {
42282 exitRule();
42283 }
42284 return _localctx;
42285 }
42286
42287 public static class GrantClassPrivilegesClauseContext extends ParserRuleContext {
42288 public ClassPrivilegesContext classPrivileges() {
42289 return getRuleContext(ClassPrivilegesContext.class,0);
42290 }
42291 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42292 public List<PrincipalContext> principal() {
42293 return getRuleContexts(PrincipalContext.class);
42294 }
42295 public PrincipalContext principal(int i) {
42296 return getRuleContext(PrincipalContext.class,i);
42297 }
42298 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42299 public OnClassClauseContext onClassClause() {
42300 return getRuleContext(OnClassClauseContext.class,0);
42301 }
42302 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42303 public TerminalNode COMMA_(int i) {
42304 return getToken(SQLServerStatementParser.COMMA_, i);
42305 }
42306 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
42307 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42308 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
42309 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42310 public GrantClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42311 super(parent, invokingState);
42312 }
42313 @Override public int getRuleIndex() { return RULE_grantClassPrivilegesClause; }
42314 @Override
42315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42316 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassPrivilegesClause(this);
42317 else return visitor.visitChildren(this);
42318 }
42319 }
42320
42321 public final GrantClassPrivilegesClauseContext grantClassPrivilegesClause() throws RecognitionException {
42322 GrantClassPrivilegesClauseContext _localctx = new GrantClassPrivilegesClauseContext(_ctx, getState());
42323 enterRule(_localctx, 822, RULE_grantClassPrivilegesClause);
42324 int _la;
42325 try {
42326 enterOuterAlt(_localctx, 1);
42327 {
42328 setState(5911);
42329 classPrivileges();
42330 setState(5914);
42331 _errHandler.sync(this);
42332 _la = _input.LA(1);
42333 if (_la==ON) {
42334 {
42335 setState(5912);
42336 match(ON);
42337 setState(5913);
42338 onClassClause();
42339 }
42340 }
42341
42342 setState(5916);
42343 match(TO);
42344 setState(5917);
42345 principal();
42346 setState(5922);
42347 _errHandler.sync(this);
42348 _la = _input.LA(1);
42349 while (_la==COMMA_) {
42350 {
42351 {
42352 setState(5918);
42353 match(COMMA_);
42354 setState(5919);
42355 principal();
42356 }
42357 }
42358 setState(5924);
42359 _errHandler.sync(this);
42360 _la = _input.LA(1);
42361 }
42362 setState(5928);
42363 _errHandler.sync(this);
42364 _la = _input.LA(1);
42365 if (_la==WITH) {
42366 {
42367 setState(5925);
42368 match(WITH);
42369 setState(5926);
42370 match(GRANT);
42371 setState(5927);
42372 match(OPTION);
42373 }
42374 }
42375
42376 setState(5932);
42377 _errHandler.sync(this);
42378 _la = _input.LA(1);
42379 if (_la==AS) {
42380 {
42381 setState(5930);
42382 match(AS);
42383 setState(5931);
42384 principal();
42385 }
42386 }
42387
42388 }
42389 }
42390 catch (RecognitionException re) {
42391 _localctx.exception = re;
42392 _errHandler.reportError(this, re);
42393 _errHandler.recover(this, re);
42394 }
42395 finally {
42396 exitRule();
42397 }
42398 return _localctx;
42399 }
42400
42401 public static class GrantClassTypePrivilegesClauseContext extends ParserRuleContext {
42402 public ClassTypePrivilegesContext classTypePrivileges() {
42403 return getRuleContext(ClassTypePrivilegesContext.class,0);
42404 }
42405 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42406 public List<PrincipalContext> principal() {
42407 return getRuleContexts(PrincipalContext.class);
42408 }
42409 public PrincipalContext principal(int i) {
42410 return getRuleContext(PrincipalContext.class,i);
42411 }
42412 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42413 public OnClassTypeClauseContext onClassTypeClause() {
42414 return getRuleContext(OnClassTypeClauseContext.class,0);
42415 }
42416 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42417 public TerminalNode COMMA_(int i) {
42418 return getToken(SQLServerStatementParser.COMMA_, i);
42419 }
42420 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
42421 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42422 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
42423 public GrantClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42424 super(parent, invokingState);
42425 }
42426 @Override public int getRuleIndex() { return RULE_grantClassTypePrivilegesClause; }
42427 @Override
42428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassTypePrivilegesClause(this);
42430 else return visitor.visitChildren(this);
42431 }
42432 }
42433
42434 public final GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() throws RecognitionException {
42435 GrantClassTypePrivilegesClauseContext _localctx = new GrantClassTypePrivilegesClauseContext(_ctx, getState());
42436 enterRule(_localctx, 824, RULE_grantClassTypePrivilegesClause);
42437 int _la;
42438 try {
42439 enterOuterAlt(_localctx, 1);
42440 {
42441 setState(5934);
42442 classTypePrivileges();
42443 setState(5937);
42444 _errHandler.sync(this);
42445 _la = _input.LA(1);
42446 if (_la==ON) {
42447 {
42448 setState(5935);
42449 match(ON);
42450 setState(5936);
42451 onClassTypeClause();
42452 }
42453 }
42454
42455 setState(5939);
42456 match(TO);
42457 setState(5940);
42458 principal();
42459 setState(5945);
42460 _errHandler.sync(this);
42461 _la = _input.LA(1);
42462 while (_la==COMMA_) {
42463 {
42464 {
42465 setState(5941);
42466 match(COMMA_);
42467 setState(5942);
42468 principal();
42469 }
42470 }
42471 setState(5947);
42472 _errHandler.sync(this);
42473 _la = _input.LA(1);
42474 }
42475 setState(5951);
42476 _errHandler.sync(this);
42477 _la = _input.LA(1);
42478 if (_la==WITH) {
42479 {
42480 setState(5948);
42481 match(WITH);
42482 setState(5949);
42483 match(GRANT);
42484 setState(5950);
42485 match(OPTION);
42486 }
42487 }
42488
42489 }
42490 }
42491 catch (RecognitionException re) {
42492 _localctx.exception = re;
42493 _errHandler.reportError(this, re);
42494 _errHandler.recover(this, re);
42495 }
42496 finally {
42497 exitRule();
42498 }
42499 return _localctx;
42500 }
42501
42502 public static class ClassPrivilegesContext extends ParserRuleContext {
42503 public List<PrivilegeTypeContext> privilegeType() {
42504 return getRuleContexts(PrivilegeTypeContext.class);
42505 }
42506 public PrivilegeTypeContext privilegeType(int i) {
42507 return getRuleContext(PrivilegeTypeContext.class,i);
42508 }
42509 public List<ColumnNamesContext> columnNames() {
42510 return getRuleContexts(ColumnNamesContext.class);
42511 }
42512 public ColumnNamesContext columnNames(int i) {
42513 return getRuleContext(ColumnNamesContext.class,i);
42514 }
42515 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42516 public TerminalNode COMMA_(int i) {
42517 return getToken(SQLServerStatementParser.COMMA_, i);
42518 }
42519 public ClassPrivilegesContext(ParserRuleContext parent, int invokingState) {
42520 super(parent, invokingState);
42521 }
42522 @Override public int getRuleIndex() { return RULE_classPrivileges; }
42523 @Override
42524 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42525 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassPrivileges(this);
42526 else return visitor.visitChildren(this);
42527 }
42528 }
42529
42530 public final ClassPrivilegesContext classPrivileges() throws RecognitionException {
42531 ClassPrivilegesContext _localctx = new ClassPrivilegesContext(_ctx, getState());
42532 enterRule(_localctx, 826, RULE_classPrivileges);
42533 int _la;
42534 try {
42535 enterOuterAlt(_localctx, 1);
42536 {
42537 setState(5953);
42538 privilegeType();
42539 setState(5955);
42540 _errHandler.sync(this);
42541 _la = _input.LA(1);
42542 if (_la==LP_) {
42543 {
42544 setState(5954);
42545 columnNames();
42546 }
42547 }
42548
42549 setState(5964);
42550 _errHandler.sync(this);
42551 _la = _input.LA(1);
42552 while (_la==COMMA_) {
42553 {
42554 {
42555 setState(5957);
42556 match(COMMA_);
42557 setState(5958);
42558 privilegeType();
42559 setState(5960);
42560 _errHandler.sync(this);
42561 _la = _input.LA(1);
42562 if (_la==LP_) {
42563 {
42564 setState(5959);
42565 columnNames();
42566 }
42567 }
42568
42569 }
42570 }
42571 setState(5966);
42572 _errHandler.sync(this);
42573 _la = _input.LA(1);
42574 }
42575 }
42576 }
42577 catch (RecognitionException re) {
42578 _localctx.exception = re;
42579 _errHandler.reportError(this, re);
42580 _errHandler.recover(this, re);
42581 }
42582 finally {
42583 exitRule();
42584 }
42585 return _localctx;
42586 }
42587
42588 public static class OnClassClauseContext extends ParserRuleContext {
42589 public SecurableContext securable() {
42590 return getRuleContext(SecurableContext.class,0);
42591 }
42592 public ClassItemContext classItem() {
42593 return getRuleContext(ClassItemContext.class,0);
42594 }
42595 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
42596 public TerminalNode COLON_(int i) {
42597 return getToken(SQLServerStatementParser.COLON_, i);
42598 }
42599 public OnClassClauseContext(ParserRuleContext parent, int invokingState) {
42600 super(parent, invokingState);
42601 }
42602 @Override public int getRuleIndex() { return RULE_onClassClause; }
42603 @Override
42604 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42605 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassClause(this);
42606 else return visitor.visitChildren(this);
42607 }
42608 }
42609
42610 public final OnClassClauseContext onClassClause() throws RecognitionException {
42611 OnClassClauseContext _localctx = new OnClassClauseContext(_ctx, getState());
42612 enterRule(_localctx, 828, RULE_onClassClause);
42613 try {
42614 enterOuterAlt(_localctx, 1);
42615 {
42616 setState(5971);
42617 _errHandler.sync(this);
42618 switch ( getInterpreter().adaptivePredict(_input,703,_ctx) ) {
42619 case 1:
42620 {
42621 setState(5967);
42622 classItem();
42623 setState(5968);
42624 match(COLON_);
42625 setState(5969);
42626 match(COLON_);
42627 }
42628 break;
42629 }
42630 setState(5973);
42631 securable();
42632 }
42633 }
42634 catch (RecognitionException re) {
42635 _localctx.exception = re;
42636 _errHandler.reportError(this, re);
42637 _errHandler.recover(this, re);
42638 }
42639 finally {
42640 exitRule();
42641 }
42642 return _localctx;
42643 }
42644
42645 public static class ClassTypePrivilegesContext extends ParserRuleContext {
42646 public List<PrivilegeTypeContext> privilegeType() {
42647 return getRuleContexts(PrivilegeTypeContext.class);
42648 }
42649 public PrivilegeTypeContext privilegeType(int i) {
42650 return getRuleContext(PrivilegeTypeContext.class,i);
42651 }
42652 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42653 public TerminalNode COMMA_(int i) {
42654 return getToken(SQLServerStatementParser.COMMA_, i);
42655 }
42656 public ClassTypePrivilegesContext(ParserRuleContext parent, int invokingState) {
42657 super(parent, invokingState);
42658 }
42659 @Override public int getRuleIndex() { return RULE_classTypePrivileges; }
42660 @Override
42661 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42662 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassTypePrivileges(this);
42663 else return visitor.visitChildren(this);
42664 }
42665 }
42666
42667 public final ClassTypePrivilegesContext classTypePrivileges() throws RecognitionException {
42668 ClassTypePrivilegesContext _localctx = new ClassTypePrivilegesContext(_ctx, getState());
42669 enterRule(_localctx, 830, RULE_classTypePrivileges);
42670 int _la;
42671 try {
42672 enterOuterAlt(_localctx, 1);
42673 {
42674 setState(5975);
42675 privilegeType();
42676 setState(5980);
42677 _errHandler.sync(this);
42678 _la = _input.LA(1);
42679 while (_la==COMMA_) {
42680 {
42681 {
42682 setState(5976);
42683 match(COMMA_);
42684 setState(5977);
42685 privilegeType();
42686 }
42687 }
42688 setState(5982);
42689 _errHandler.sync(this);
42690 _la = _input.LA(1);
42691 }
42692 }
42693 }
42694 catch (RecognitionException re) {
42695 _localctx.exception = re;
42696 _errHandler.reportError(this, re);
42697 _errHandler.recover(this, re);
42698 }
42699 finally {
42700 exitRule();
42701 }
42702 return _localctx;
42703 }
42704
42705 public static class OnClassTypeClauseContext extends ParserRuleContext {
42706 public SecurableContext securable() {
42707 return getRuleContext(SecurableContext.class,0);
42708 }
42709 public ClassTypeContext classType() {
42710 return getRuleContext(ClassTypeContext.class,0);
42711 }
42712 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
42713 public TerminalNode COLON_(int i) {
42714 return getToken(SQLServerStatementParser.COLON_, i);
42715 }
42716 public OnClassTypeClauseContext(ParserRuleContext parent, int invokingState) {
42717 super(parent, invokingState);
42718 }
42719 @Override public int getRuleIndex() { return RULE_onClassTypeClause; }
42720 @Override
42721 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42722 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassTypeClause(this);
42723 else return visitor.visitChildren(this);
42724 }
42725 }
42726
42727 public final OnClassTypeClauseContext onClassTypeClause() throws RecognitionException {
42728 OnClassTypeClauseContext _localctx = new OnClassTypeClauseContext(_ctx, getState());
42729 enterRule(_localctx, 832, RULE_onClassTypeClause);
42730 try {
42731 enterOuterAlt(_localctx, 1);
42732 {
42733 setState(5987);
42734 _errHandler.sync(this);
42735 switch ( getInterpreter().adaptivePredict(_input,705,_ctx) ) {
42736 case 1:
42737 {
42738 setState(5983);
42739 classType();
42740 setState(5984);
42741 match(COLON_);
42742 setState(5985);
42743 match(COLON_);
42744 }
42745 break;
42746 }
42747 setState(5989);
42748 securable();
42749 }
42750 }
42751 catch (RecognitionException re) {
42752 _localctx.exception = re;
42753 _errHandler.reportError(this, re);
42754 _errHandler.recover(this, re);
42755 }
42756 finally {
42757 exitRule();
42758 }
42759 return _localctx;
42760 }
42761
42762 public static class SecurableContext extends ParserRuleContext {
42763 public NameContext name() {
42764 return getRuleContext(NameContext.class,0);
42765 }
42766 public OwnerContext owner() {
42767 return getRuleContext(OwnerContext.class,0);
42768 }
42769 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
42770 public SecurableContext(ParserRuleContext parent, int invokingState) {
42771 super(parent, invokingState);
42772 }
42773 @Override public int getRuleIndex() { return RULE_securable; }
42774 @Override
42775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSecurable(this);
42777 else return visitor.visitChildren(this);
42778 }
42779 }
42780
42781 public final SecurableContext securable() throws RecognitionException {
42782 SecurableContext _localctx = new SecurableContext(_ctx, getState());
42783 enterRule(_localctx, 834, RULE_securable);
42784 try {
42785 enterOuterAlt(_localctx, 1);
42786 {
42787 setState(5994);
42788 _errHandler.sync(this);
42789 switch ( getInterpreter().adaptivePredict(_input,706,_ctx) ) {
42790 case 1:
42791 {
42792 setState(5991);
42793 owner();
42794 setState(5992);
42795 match(DOT_);
42796 }
42797 break;
42798 }
42799 setState(5996);
42800 name();
42801 }
42802 }
42803 catch (RecognitionException re) {
42804 _localctx.exception = re;
42805 _errHandler.reportError(this, re);
42806 _errHandler.recover(this, re);
42807 }
42808 finally {
42809 exitRule();
42810 }
42811 return _localctx;
42812 }
42813
42814 public static class PrincipalContext extends ParserRuleContext {
42815 public UserNameContext userName() {
42816 return getRuleContext(UserNameContext.class,0);
42817 }
42818 public PrincipalContext(ParserRuleContext parent, int invokingState) {
42819 super(parent, invokingState);
42820 }
42821 @Override public int getRuleIndex() { return RULE_principal; }
42822 @Override
42823 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42824 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrincipal(this);
42825 else return visitor.visitChildren(this);
42826 }
42827 }
42828
42829 public final PrincipalContext principal() throws RecognitionException {
42830 PrincipalContext _localctx = new PrincipalContext(_ctx, getState());
42831 enterRule(_localctx, 836, RULE_principal);
42832 try {
42833 enterOuterAlt(_localctx, 1);
42834 {
42835 setState(5998);
42836 userName();
42837 }
42838 }
42839 catch (RecognitionException re) {
42840 _localctx.exception = re;
42841 _errHandler.reportError(this, re);
42842 _errHandler.recover(this, re);
42843 }
42844 finally {
42845 exitRule();
42846 }
42847 return _localctx;
42848 }
42849
42850 public static class RevokeContext extends ParserRuleContext {
42851 public TerminalNode REVOKE() { return getToken(SQLServerStatementParser.REVOKE, 0); }
42852 public RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() {
42853 return getRuleContext(RevokeClassPrivilegesClauseContext.class,0);
42854 }
42855 public RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() {
42856 return getRuleContext(RevokeClassTypePrivilegesClauseContext.class,0);
42857 }
42858 public OptionForClauseContext optionForClause() {
42859 return getRuleContext(OptionForClauseContext.class,0);
42860 }
42861 public RevokeContext(ParserRuleContext parent, int invokingState) {
42862 super(parent, invokingState);
42863 }
42864 @Override public int getRuleIndex() { return RULE_revoke; }
42865 @Override
42866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevoke(this);
42868 else return visitor.visitChildren(this);
42869 }
42870 }
42871
42872 public final RevokeContext revoke() throws RecognitionException {
42873 RevokeContext _localctx = new RevokeContext(_ctx, getState());
42874 enterRule(_localctx, 838, RULE_revoke);
42875 int _la;
42876 try {
42877 enterOuterAlt(_localctx, 1);
42878 {
42879 setState(6000);
42880 match(REVOKE);
42881 setState(6006);
42882 _errHandler.sync(this);
42883 switch ( getInterpreter().adaptivePredict(_input,708,_ctx) ) {
42884 case 1:
42885 {
42886 setState(6002);
42887 _errHandler.sync(this);
42888 _la = _input.LA(1);
42889 if (_la==GRANT) {
42890 {
42891 setState(6001);
42892 optionForClause();
42893 }
42894 }
42895
42896 setState(6004);
42897 revokeClassPrivilegesClause();
42898 }
42899 break;
42900 case 2:
42901 {
42902 setState(6005);
42903 revokeClassTypePrivilegesClause();
42904 }
42905 break;
42906 }
42907 }
42908 }
42909 catch (RecognitionException re) {
42910 _localctx.exception = re;
42911 _errHandler.reportError(this, re);
42912 _errHandler.recover(this, re);
42913 }
42914 finally {
42915 exitRule();
42916 }
42917 return _localctx;
42918 }
42919
42920 public static class RevokeClassPrivilegesClauseContext extends ParserRuleContext {
42921 public ClassPrivilegesContext classPrivileges() {
42922 return getRuleContext(ClassPrivilegesContext.class,0);
42923 }
42924 public List<PrincipalContext> principal() {
42925 return getRuleContexts(PrincipalContext.class);
42926 }
42927 public PrincipalContext principal(int i) {
42928 return getRuleContext(PrincipalContext.class,i);
42929 }
42930 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42931 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
42932 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42933 public OnClassClauseContext onClassClause() {
42934 return getRuleContext(OnClassClauseContext.class,0);
42935 }
42936 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42937 public TerminalNode COMMA_(int i) {
42938 return getToken(SQLServerStatementParser.COMMA_, i);
42939 }
42940 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42941 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42942 public RevokeClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42943 super(parent, invokingState);
42944 }
42945 @Override public int getRuleIndex() { return RULE_revokeClassPrivilegesClause; }
42946 @Override
42947 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42948 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassPrivilegesClause(this);
42949 else return visitor.visitChildren(this);
42950 }
42951 }
42952
42953 public final RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() throws RecognitionException {
42954 RevokeClassPrivilegesClauseContext _localctx = new RevokeClassPrivilegesClauseContext(_ctx, getState());
42955 enterRule(_localctx, 840, RULE_revokeClassPrivilegesClause);
42956 int _la;
42957 try {
42958 enterOuterAlt(_localctx, 1);
42959 {
42960 setState(6008);
42961 classPrivileges();
42962 setState(6011);
42963 _errHandler.sync(this);
42964 _la = _input.LA(1);
42965 if (_la==ON) {
42966 {
42967 setState(6009);
42968 match(ON);
42969 setState(6010);
42970 onClassClause();
42971 }
42972 }
42973
42974 setState(6013);
42975 _la = _input.LA(1);
42976 if ( !(_la==FROM || _la==TO) ) {
42977 _errHandler.recoverInline(this);
42978 }
42979 else {
42980 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42981 _errHandler.reportMatch(this);
42982 consume();
42983 }
42984 setState(6014);
42985 principal();
42986 setState(6019);
42987 _errHandler.sync(this);
42988 _la = _input.LA(1);
42989 while (_la==COMMA_) {
42990 {
42991 {
42992 setState(6015);
42993 match(COMMA_);
42994 setState(6016);
42995 principal();
42996 }
42997 }
42998 setState(6021);
42999 _errHandler.sync(this);
43000 _la = _input.LA(1);
43001 }
43002 setState(6023);
43003 _errHandler.sync(this);
43004 _la = _input.LA(1);
43005 if (_la==CASCADE) {
43006 {
43007 setState(6022);
43008 match(CASCADE);
43009 }
43010 }
43011
43012 setState(6027);
43013 _errHandler.sync(this);
43014 _la = _input.LA(1);
43015 if (_la==AS) {
43016 {
43017 setState(6025);
43018 match(AS);
43019 setState(6026);
43020 principal();
43021 }
43022 }
43023
43024 }
43025 }
43026 catch (RecognitionException re) {
43027 _localctx.exception = re;
43028 _errHandler.reportError(this, re);
43029 _errHandler.recover(this, re);
43030 }
43031 finally {
43032 exitRule();
43033 }
43034 return _localctx;
43035 }
43036
43037 public static class RevokeClassTypePrivilegesClauseContext extends ParserRuleContext {
43038 public ClassTypePrivilegesContext classTypePrivileges() {
43039 return getRuleContext(ClassTypePrivilegesContext.class,0);
43040 }
43041 public List<PrincipalContext> principal() {
43042 return getRuleContexts(PrincipalContext.class);
43043 }
43044 public PrincipalContext principal(int i) {
43045 return getRuleContext(PrincipalContext.class,i);
43046 }
43047 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
43048 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
43049 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
43050 public OnClassTypeClauseContext onClassTypeClause() {
43051 return getRuleContext(OnClassTypeClauseContext.class,0);
43052 }
43053 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
43054 public TerminalNode COMMA_(int i) {
43055 return getToken(SQLServerStatementParser.COMMA_, i);
43056 }
43057 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
43058 public RevokeClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
43059 super(parent, invokingState);
43060 }
43061 @Override public int getRuleIndex() { return RULE_revokeClassTypePrivilegesClause; }
43062 @Override
43063 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43064 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassTypePrivilegesClause(this);
43065 else return visitor.visitChildren(this);
43066 }
43067 }
43068
43069 public final RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() throws RecognitionException {
43070 RevokeClassTypePrivilegesClauseContext _localctx = new RevokeClassTypePrivilegesClauseContext(_ctx, getState());
43071 enterRule(_localctx, 842, RULE_revokeClassTypePrivilegesClause);
43072 int _la;
43073 try {
43074 enterOuterAlt(_localctx, 1);
43075 {
43076 setState(6029);
43077 classTypePrivileges();
43078 setState(6032);
43079 _errHandler.sync(this);
43080 _la = _input.LA(1);
43081 if (_la==ON) {
43082 {
43083 setState(6030);
43084 match(ON);
43085 setState(6031);
43086 onClassTypeClause();
43087 }
43088 }
43089
43090 setState(6034);
43091 _la = _input.LA(1);
43092 if ( !(_la==FROM || _la==TO) ) {
43093 _errHandler.recoverInline(this);
43094 }
43095 else {
43096 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
43097 _errHandler.reportMatch(this);
43098 consume();
43099 }
43100 setState(6035);
43101 principal();
43102 setState(6040);
43103 _errHandler.sync(this);
43104 _la = _input.LA(1);
43105 while (_la==COMMA_) {
43106 {
43107 {
43108 setState(6036);
43109 match(COMMA_);
43110 setState(6037);
43111 principal();
43112 }
43113 }
43114 setState(6042);
43115 _errHandler.sync(this);
43116 _la = _input.LA(1);
43117 }
43118 setState(6044);
43119 _errHandler.sync(this);
43120 _la = _input.LA(1);
43121 if (_la==CASCADE) {
43122 {
43123 setState(6043);
43124 match(CASCADE);
43125 }
43126 }
43127
43128 }
43129 }
43130 catch (RecognitionException re) {
43131 _localctx.exception = re;
43132 _errHandler.reportError(this, re);
43133 _errHandler.recover(this, re);
43134 }
43135 finally {
43136 exitRule();
43137 }
43138 return _localctx;
43139 }
43140
43141 public static class DenyContext extends ParserRuleContext {
43142 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
43143 public DenyClassPrivilegesClauseContext denyClassPrivilegesClause() {
43144 return getRuleContext(DenyClassPrivilegesClauseContext.class,0);
43145 }
43146 public DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() {
43147 return getRuleContext(DenyClassTypePrivilegesClauseContext.class,0);
43148 }
43149 public DenyContext(ParserRuleContext parent, int invokingState) {
43150 super(parent, invokingState);
43151 }
43152 @Override public int getRuleIndex() { return RULE_deny; }
43153 @Override
43154 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43155 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeny(this);
43156 else return visitor.visitChildren(this);
43157 }
43158 }
43159
43160 public final DenyContext deny() throws RecognitionException {
43161 DenyContext _localctx = new DenyContext(_ctx, getState());
43162 enterRule(_localctx, 844, RULE_deny);
43163 try {
43164 enterOuterAlt(_localctx, 1);
43165 {
43166 setState(6046);
43167 match(DENY);
43168 setState(6049);
43169 _errHandler.sync(this);
43170 switch ( getInterpreter().adaptivePredict(_input,716,_ctx) ) {
43171 case 1:
43172 {
43173 setState(6047);
43174 denyClassPrivilegesClause();
43175 }
43176 break;
43177 case 2:
43178 {
43179 setState(6048);
43180 denyClassTypePrivilegesClause();
43181 }
43182 break;
43183 }
43184 }
43185 }
43186 catch (RecognitionException re) {
43187 _localctx.exception = re;
43188 _errHandler.reportError(this, re);
43189 _errHandler.recover(this, re);
43190 }
43191 finally {
43192 exitRule();
43193 }
43194 return _localctx;
43195 }
43196
43197 public static class DenyClassPrivilegesClauseContext extends ParserRuleContext {
43198 public ClassPrivilegesContext classPrivileges() {
43199 return getRuleContext(ClassPrivilegesContext.class,0);
43200 }
43201 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
43202 public List<PrincipalContext> principal() {
43203 return getRuleContexts(PrincipalContext.class);
43204 }
43205 public PrincipalContext principal(int i) {
43206 return getRuleContext(PrincipalContext.class,i);
43207 }
43208 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
43209 public OnClassClauseContext onClassClause() {
43210 return getRuleContext(OnClassClauseContext.class,0);
43211 }
43212 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
43213 public TerminalNode COMMA_(int i) {
43214 return getToken(SQLServerStatementParser.COMMA_, i);
43215 }
43216 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
43217 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
43218 public DenyClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
43219 super(parent, invokingState);
43220 }
43221 @Override public int getRuleIndex() { return RULE_denyClassPrivilegesClause; }
43222 @Override
43223 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43224 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassPrivilegesClause(this);
43225 else return visitor.visitChildren(this);
43226 }
43227 }
43228
43229 public final DenyClassPrivilegesClauseContext denyClassPrivilegesClause() throws RecognitionException {
43230 DenyClassPrivilegesClauseContext _localctx = new DenyClassPrivilegesClauseContext(_ctx, getState());
43231 enterRule(_localctx, 846, RULE_denyClassPrivilegesClause);
43232 int _la;
43233 try {
43234 enterOuterAlt(_localctx, 1);
43235 {
43236 setState(6051);
43237 classPrivileges();
43238 setState(6054);
43239 _errHandler.sync(this);
43240 _la = _input.LA(1);
43241 if (_la==ON) {
43242 {
43243 setState(6052);
43244 match(ON);
43245 setState(6053);
43246 onClassClause();
43247 }
43248 }
43249
43250 setState(6056);
43251 match(TO);
43252 setState(6057);
43253 principal();
43254 setState(6062);
43255 _errHandler.sync(this);
43256 _la = _input.LA(1);
43257 while (_la==COMMA_) {
43258 {
43259 {
43260 setState(6058);
43261 match(COMMA_);
43262 setState(6059);
43263 principal();
43264 }
43265 }
43266 setState(6064);
43267 _errHandler.sync(this);
43268 _la = _input.LA(1);
43269 }
43270 setState(6066);
43271 _errHandler.sync(this);
43272 _la = _input.LA(1);
43273 if (_la==CASCADE) {
43274 {
43275 setState(6065);
43276 match(CASCADE);
43277 }
43278 }
43279
43280 setState(6070);
43281 _errHandler.sync(this);
43282 _la = _input.LA(1);
43283 if (_la==AS) {
43284 {
43285 setState(6068);
43286 match(AS);
43287 setState(6069);
43288 principal();
43289 }
43290 }
43291
43292 }
43293 }
43294 catch (RecognitionException re) {
43295 _localctx.exception = re;
43296 _errHandler.reportError(this, re);
43297 _errHandler.recover(this, re);
43298 }
43299 finally {
43300 exitRule();
43301 }
43302 return _localctx;
43303 }
43304
43305 public static class DenyClassTypePrivilegesClauseContext extends ParserRuleContext {
43306 public ClassTypePrivilegesContext classTypePrivileges() {
43307 return getRuleContext(ClassTypePrivilegesContext.class,0);
43308 }
43309 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
43310 public List<PrincipalContext> principal() {
43311 return getRuleContexts(PrincipalContext.class);
43312 }
43313 public PrincipalContext principal(int i) {
43314 return getRuleContext(PrincipalContext.class,i);
43315 }
43316 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
43317 public OnClassTypeClauseContext onClassTypeClause() {
43318 return getRuleContext(OnClassTypeClauseContext.class,0);
43319 }
43320 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
43321 public TerminalNode COMMA_(int i) {
43322 return getToken(SQLServerStatementParser.COMMA_, i);
43323 }
43324 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
43325 public DenyClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
43326 super(parent, invokingState);
43327 }
43328 @Override public int getRuleIndex() { return RULE_denyClassTypePrivilegesClause; }
43329 @Override
43330 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43331 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassTypePrivilegesClause(this);
43332 else return visitor.visitChildren(this);
43333 }
43334 }
43335
43336 public final DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() throws RecognitionException {
43337 DenyClassTypePrivilegesClauseContext _localctx = new DenyClassTypePrivilegesClauseContext(_ctx, getState());
43338 enterRule(_localctx, 848, RULE_denyClassTypePrivilegesClause);
43339 int _la;
43340 try {
43341 enterOuterAlt(_localctx, 1);
43342 {
43343 setState(6072);
43344 classTypePrivileges();
43345 setState(6075);
43346 _errHandler.sync(this);
43347 _la = _input.LA(1);
43348 if (_la==ON) {
43349 {
43350 setState(6073);
43351 match(ON);
43352 setState(6074);
43353 onClassTypeClause();
43354 }
43355 }
43356
43357 setState(6077);
43358 match(TO);
43359 setState(6078);
43360 principal();
43361 setState(6083);
43362 _errHandler.sync(this);
43363 _la = _input.LA(1);
43364 while (_la==COMMA_) {
43365 {
43366 {
43367 setState(6079);
43368 match(COMMA_);
43369 setState(6080);
43370 principal();
43371 }
43372 }
43373 setState(6085);
43374 _errHandler.sync(this);
43375 _la = _input.LA(1);
43376 }
43377 setState(6087);
43378 _errHandler.sync(this);
43379 _la = _input.LA(1);
43380 if (_la==CASCADE) {
43381 {
43382 setState(6086);
43383 match(CASCADE);
43384 }
43385 }
43386
43387 }
43388 }
43389 catch (RecognitionException re) {
43390 _localctx.exception = re;
43391 _errHandler.reportError(this, re);
43392 _errHandler.recover(this, re);
43393 }
43394 finally {
43395 exitRule();
43396 }
43397 return _localctx;
43398 }
43399
43400 public static class OptionForClauseContext extends ParserRuleContext {
43401 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
43402 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
43403 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
43404 public OptionForClauseContext(ParserRuleContext parent, int invokingState) {
43405 super(parent, invokingState);
43406 }
43407 @Override public int getRuleIndex() { return RULE_optionForClause; }
43408 @Override
43409 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43410 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionForClause(this);
43411 else return visitor.visitChildren(this);
43412 }
43413 }
43414
43415 public final OptionForClauseContext optionForClause() throws RecognitionException {
43416 OptionForClauseContext _localctx = new OptionForClauseContext(_ctx, getState());
43417 enterRule(_localctx, 850, RULE_optionForClause);
43418 try {
43419 enterOuterAlt(_localctx, 1);
43420 {
43421 setState(6089);
43422 match(GRANT);
43423 setState(6090);
43424 match(OPTION);
43425 setState(6091);
43426 match(FOR);
43427 }
43428 }
43429 catch (RecognitionException re) {
43430 _localctx.exception = re;
43431 _errHandler.reportError(this, re);
43432 _errHandler.recover(this, re);
43433 }
43434 finally {
43435 exitRule();
43436 }
43437 return _localctx;
43438 }
43439
43440 public static class PrivilegeTypeContext extends ParserRuleContext {
43441 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
43442 public TerminalNode PRIVILEGES() { return getToken(SQLServerStatementParser.PRIVILEGES, 0); }
43443 public AssemblyPermissionContext assemblyPermission() {
43444 return getRuleContext(AssemblyPermissionContext.class,0);
43445 }
43446 public AsymmetricKeyPermissionContext asymmetricKeyPermission() {
43447 return getRuleContext(AsymmetricKeyPermissionContext.class,0);
43448 }
43449 public AvailabilityGroupPermissionContext availabilityGroupPermission() {
43450 return getRuleContext(AvailabilityGroupPermissionContext.class,0);
43451 }
43452 public CertificatePermissionContext certificatePermission() {
43453 return getRuleContext(CertificatePermissionContext.class,0);
43454 }
43455 public ObjectPermissionContext objectPermission() {
43456 return getRuleContext(ObjectPermissionContext.class,0);
43457 }
43458 public SystemObjectPermissionContext systemObjectPermission() {
43459 return getRuleContext(SystemObjectPermissionContext.class,0);
43460 }
43461 public DatabasePermissionContext databasePermission() {
43462 return getRuleContext(DatabasePermissionContext.class,0);
43463 }
43464 public DatabasePrincipalPermissionContext databasePrincipalPermission() {
43465 return getRuleContext(DatabasePrincipalPermissionContext.class,0);
43466 }
43467 public DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() {
43468 return getRuleContext(DatabaseScopedCredentialPermissionContext.class,0);
43469 }
43470 public EndpointPermissionContext endpointPermission() {
43471 return getRuleContext(EndpointPermissionContext.class,0);
43472 }
43473 public FullTextPermissionContext fullTextPermission() {
43474 return getRuleContext(FullTextPermissionContext.class,0);
43475 }
43476 public SchemaPermissionContext schemaPermission() {
43477 return getRuleContext(SchemaPermissionContext.class,0);
43478 }
43479 public SearchPropertyListPermissionContext searchPropertyListPermission() {
43480 return getRuleContext(SearchPropertyListPermissionContext.class,0);
43481 }
43482 public ServerPermissionContext serverPermission() {
43483 return getRuleContext(ServerPermissionContext.class,0);
43484 }
43485 public ServerPrincipalPermissionContext serverPrincipalPermission() {
43486 return getRuleContext(ServerPrincipalPermissionContext.class,0);
43487 }
43488 public ServiceBrokerPermissionContext serviceBrokerPermission() {
43489 return getRuleContext(ServiceBrokerPermissionContext.class,0);
43490 }
43491 public SymmetricKeyPermissionContext symmetricKeyPermission() {
43492 return getRuleContext(SymmetricKeyPermissionContext.class,0);
43493 }
43494 public TypePermissionContext typePermission() {
43495 return getRuleContext(TypePermissionContext.class,0);
43496 }
43497 public XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() {
43498 return getRuleContext(XmlSchemaCollectionPermissionContext.class,0);
43499 }
43500 public PrivilegeTypeContext(ParserRuleContext parent, int invokingState) {
43501 super(parent, invokingState);
43502 }
43503 @Override public int getRuleIndex() { return RULE_privilegeType; }
43504 @Override
43505 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43506 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivilegeType(this);
43507 else return visitor.visitChildren(this);
43508 }
43509 }
43510
43511 public final PrivilegeTypeContext privilegeType() throws RecognitionException {
43512 PrivilegeTypeContext _localctx = new PrivilegeTypeContext(_ctx, getState());
43513 enterRule(_localctx, 852, RULE_privilegeType);
43514 int _la;
43515 try {
43516 setState(6116);
43517 _errHandler.sync(this);
43518 switch ( getInterpreter().adaptivePredict(_input,725,_ctx) ) {
43519 case 1:
43520 enterOuterAlt(_localctx, 1);
43521 {
43522 setState(6093);
43523 match(ALL);
43524 setState(6095);
43525 _errHandler.sync(this);
43526 _la = _input.LA(1);
43527 if (_la==PRIVILEGES) {
43528 {
43529 setState(6094);
43530 match(PRIVILEGES);
43531 }
43532 }
43533
43534 }
43535 break;
43536 case 2:
43537 enterOuterAlt(_localctx, 2);
43538 {
43539 setState(6097);
43540 assemblyPermission();
43541 }
43542 break;
43543 case 3:
43544 enterOuterAlt(_localctx, 3);
43545 {
43546 setState(6098);
43547 asymmetricKeyPermission();
43548 }
43549 break;
43550 case 4:
43551 enterOuterAlt(_localctx, 4);
43552 {
43553 setState(6099);
43554 availabilityGroupPermission();
43555 }
43556 break;
43557 case 5:
43558 enterOuterAlt(_localctx, 5);
43559 {
43560 setState(6100);
43561 certificatePermission();
43562 }
43563 break;
43564 case 6:
43565 enterOuterAlt(_localctx, 6);
43566 {
43567 setState(6101);
43568 objectPermission();
43569 }
43570 break;
43571 case 7:
43572 enterOuterAlt(_localctx, 7);
43573 {
43574 setState(6102);
43575 systemObjectPermission();
43576 }
43577 break;
43578 case 8:
43579 enterOuterAlt(_localctx, 8);
43580 {
43581 setState(6103);
43582 databasePermission();
43583 }
43584 break;
43585 case 9:
43586 enterOuterAlt(_localctx, 9);
43587 {
43588 setState(6104);
43589 databasePrincipalPermission();
43590 }
43591 break;
43592 case 10:
43593 enterOuterAlt(_localctx, 10);
43594 {
43595 setState(6105);
43596 databaseScopedCredentialPermission();
43597 }
43598 break;
43599 case 11:
43600 enterOuterAlt(_localctx, 11);
43601 {
43602 setState(6106);
43603 endpointPermission();
43604 }
43605 break;
43606 case 12:
43607 enterOuterAlt(_localctx, 12);
43608 {
43609 setState(6107);
43610 fullTextPermission();
43611 }
43612 break;
43613 case 13:
43614 enterOuterAlt(_localctx, 13);
43615 {
43616 setState(6108);
43617 schemaPermission();
43618 }
43619 break;
43620 case 14:
43621 enterOuterAlt(_localctx, 14);
43622 {
43623 setState(6109);
43624 searchPropertyListPermission();
43625 }
43626 break;
43627 case 15:
43628 enterOuterAlt(_localctx, 15);
43629 {
43630 setState(6110);
43631 serverPermission();
43632 }
43633 break;
43634 case 16:
43635 enterOuterAlt(_localctx, 16);
43636 {
43637 setState(6111);
43638 serverPrincipalPermission();
43639 }
43640 break;
43641 case 17:
43642 enterOuterAlt(_localctx, 17);
43643 {
43644 setState(6112);
43645 serviceBrokerPermission();
43646 }
43647 break;
43648 case 18:
43649 enterOuterAlt(_localctx, 18);
43650 {
43651 setState(6113);
43652 symmetricKeyPermission();
43653 }
43654 break;
43655 case 19:
43656 enterOuterAlt(_localctx, 19);
43657 {
43658 setState(6114);
43659 typePermission();
43660 }
43661 break;
43662 case 20:
43663 enterOuterAlt(_localctx, 20);
43664 {
43665 setState(6115);
43666 xmlSchemaCollectionPermission();
43667 }
43668 break;
43669 }
43670 }
43671 catch (RecognitionException re) {
43672 _localctx.exception = re;
43673 _errHandler.reportError(this, re);
43674 _errHandler.recover(this, re);
43675 }
43676 finally {
43677 exitRule();
43678 }
43679 return _localctx;
43680 }
43681
43682 public static class ObjectPermissionContext extends ParserRuleContext {
43683 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43684 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43685 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
43686 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
43687 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
43688 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
43689 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43690 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43691 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43692 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43693 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
43694 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43695 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
43696 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
43697 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43698 public ObjectPermissionContext(ParserRuleContext parent, int invokingState) {
43699 super(parent, invokingState);
43700 }
43701 @Override public int getRuleIndex() { return RULE_objectPermission; }
43702 @Override
43703 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43704 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitObjectPermission(this);
43705 else return visitor.visitChildren(this);
43706 }
43707 }
43708
43709 public final ObjectPermissionContext objectPermission() throws RecognitionException {
43710 ObjectPermissionContext _localctx = new ObjectPermissionContext(_ctx, getState());
43711 enterRule(_localctx, 854, RULE_objectPermission);
43712 try {
43713 setState(6134);
43714 _errHandler.sync(this);
43715 switch ( getInterpreter().adaptivePredict(_input,726,_ctx) ) {
43716 case 1:
43717 enterOuterAlt(_localctx, 1);
43718 {
43719 setState(6118);
43720 match(ALTER);
43721 }
43722 break;
43723 case 2:
43724 enterOuterAlt(_localctx, 2);
43725 {
43726 setState(6119);
43727 match(CONTROL);
43728 }
43729 break;
43730 case 3:
43731 enterOuterAlt(_localctx, 3);
43732 {
43733 setState(6120);
43734 match(DELETE);
43735 }
43736 break;
43737 case 4:
43738 enterOuterAlt(_localctx, 4);
43739 {
43740 setState(6121);
43741 match(EXECUTE);
43742 }
43743 break;
43744 case 5:
43745 enterOuterAlt(_localctx, 5);
43746 {
43747 setState(6122);
43748 match(INSERT);
43749 }
43750 break;
43751 case 6:
43752 enterOuterAlt(_localctx, 6);
43753 {
43754 setState(6123);
43755 match(RECEIVE);
43756 }
43757 break;
43758 case 7:
43759 enterOuterAlt(_localctx, 7);
43760 {
43761 setState(6124);
43762 match(REFERENCES);
43763 }
43764 break;
43765 case 8:
43766 enterOuterAlt(_localctx, 8);
43767 {
43768 setState(6125);
43769 match(SELECT);
43770 }
43771 break;
43772 case 9:
43773 enterOuterAlt(_localctx, 9);
43774 {
43775 setState(6126);
43776 match(TAKE);
43777 setState(6127);
43778 match(OWNERSHIP);
43779 }
43780 break;
43781 case 10:
43782 enterOuterAlt(_localctx, 10);
43783 {
43784 setState(6128);
43785 match(UPDATE);
43786 }
43787 break;
43788 case 11:
43789 enterOuterAlt(_localctx, 11);
43790 {
43791 setState(6129);
43792 match(VIEW);
43793 setState(6130);
43794 match(CHANGE);
43795 setState(6131);
43796 match(TRACKING);
43797 }
43798 break;
43799 case 12:
43800 enterOuterAlt(_localctx, 12);
43801 {
43802 setState(6132);
43803 match(VIEW);
43804 setState(6133);
43805 match(DEFINITION);
43806 }
43807 break;
43808 }
43809 }
43810 catch (RecognitionException re) {
43811 _localctx.exception = re;
43812 _errHandler.reportError(this, re);
43813 _errHandler.recover(this, re);
43814 }
43815 finally {
43816 exitRule();
43817 }
43818 return _localctx;
43819 }
43820
43821 public static class ServerPermissionContext extends ParserRuleContext {
43822 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
43823 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
43824 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
43825 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43826 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
43827 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
43828 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
43829 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
43830 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
43831 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43832 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
43833 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
43834 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
43835 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
43836 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
43837 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
43838 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
43839 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
43840 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
43841 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
43842 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
43843 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
43844 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43845 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
43846 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
43847 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
43848 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43849 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
43850 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
43851 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
43852 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
43853 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
43854 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
43855 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43856 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
43857 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
43858 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
43859 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
43860 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
43861 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43862 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43863 public ServerPermissionContext(ParserRuleContext parent, int invokingState) {
43864 super(parent, invokingState);
43865 }
43866 @Override public int getRuleIndex() { return RULE_serverPermission; }
43867 @Override
43868 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43869 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPermission(this);
43870 else return visitor.visitChildren(this);
43871 }
43872 }
43873
43874 public final ServerPermissionContext serverPermission() throws RecognitionException {
43875 ServerPermissionContext _localctx = new ServerPermissionContext(_ctx, getState());
43876 enterRule(_localctx, 856, RULE_serverPermission);
43877 int _la;
43878 try {
43879 setState(6213);
43880 _errHandler.sync(this);
43881 switch ( getInterpreter().adaptivePredict(_input,730,_ctx) ) {
43882 case 1:
43883 enterOuterAlt(_localctx, 1);
43884 {
43885 setState(6136);
43886 match(ADMINISTER);
43887 setState(6137);
43888 match(BULK);
43889 setState(6138);
43890 match(OPERATIONS);
43891 }
43892 break;
43893 case 2:
43894 enterOuterAlt(_localctx, 2);
43895 {
43896 setState(6139);
43897 match(ALTER);
43898 setState(6145);
43899 _errHandler.sync(this);
43900 switch (_input.LA(1)) {
43901 case RESOURCES:
43902 {
43903 setState(6140);
43904 match(RESOURCES);
43905 }
43906 break;
43907 case SETTINGS:
43908 {
43909 setState(6141);
43910 match(SETTINGS);
43911 }
43912 break;
43913 case TRACE:
43914 {
43915 setState(6142);
43916 match(TRACE);
43917 }
43918 break;
43919 case SERVER:
43920 {
43921 setState(6143);
43922 match(SERVER);
43923 setState(6144);
43924 match(STATE);
43925 }
43926 break;
43927 default:
43928 throw new NoViableAltException(this);
43929 }
43930 }
43931 break;
43932 case 3:
43933 enterOuterAlt(_localctx, 3);
43934 {
43935 setState(6147);
43936 match(ALTER);
43937 setState(6148);
43938 match(ANY);
43939 setState(6166);
43940 _errHandler.sync(this);
43941 switch ( getInterpreter().adaptivePredict(_input,728,_ctx) ) {
43942 case 1:
43943 {
43944 setState(6149);
43945 match(AVAILABILITY);
43946 setState(6150);
43947 match(GROUP);
43948 }
43949 break;
43950 case 2:
43951 {
43952 setState(6151);
43953 match(CONNECTION);
43954 }
43955 break;
43956 case 3:
43957 {
43958 setState(6152);
43959 match(CREDENTIAL);
43960 }
43961 break;
43962 case 4:
43963 {
43964 setState(6153);
43965 match(DATABASE);
43966 }
43967 break;
43968 case 5:
43969 {
43970 setState(6154);
43971 match(ENDPOINT);
43972 }
43973 break;
43974 case 6:
43975 {
43976 setState(6155);
43977 match(EVENT);
43978 setState(6156);
43979 match(NOTIFICATION);
43980 }
43981 break;
43982 case 7:
43983 {
43984 setState(6157);
43985 match(EVENT);
43986 setState(6158);
43987 match(SESSION);
43988 }
43989 break;
43990 case 8:
43991 {
43992 setState(6159);
43993 match(LINKED);
43994 setState(6160);
43995 match(SERVER);
43996 }
43997 break;
43998 case 9:
43999 {
44000 setState(6161);
44001 match(LOGIN);
44002 }
44003 break;
44004 case 10:
44005 {
44006 setState(6162);
44007 match(SERVER);
44008 setState(6163);
44009 match(AUDIT);
44010 }
44011 break;
44012 case 11:
44013 {
44014 setState(6164);
44015 match(SERVER);
44016 setState(6165);
44017 match(ROLE);
44018 }
44019 break;
44020 }
44021 }
44022 break;
44023 case 4:
44024 enterOuterAlt(_localctx, 4);
44025 {
44026 setState(6168);
44027 match(AUTHENTICATE);
44028 setState(6169);
44029 match(SERVER);
44030 }
44031 break;
44032 case 5:
44033 enterOuterAlt(_localctx, 5);
44034 {
44035 setState(6170);
44036 match(CONNECT);
44037 setState(6171);
44038 match(ANY);
44039 setState(6172);
44040 match(DATABASE);
44041 }
44042 break;
44043 case 6:
44044 enterOuterAlt(_localctx, 6);
44045 {
44046 setState(6173);
44047 match(CONNECT);
44048 setState(6174);
44049 match(SQL);
44050 }
44051 break;
44052 case 7:
44053 enterOuterAlt(_localctx, 7);
44054 {
44055 setState(6175);
44056 match(CONTROL);
44057 setState(6176);
44058 match(SERVER);
44059 }
44060 break;
44061 case 8:
44062 enterOuterAlt(_localctx, 8);
44063 {
44064 setState(6177);
44065 match(CREATE);
44066 setState(6178);
44067 match(ANY);
44068 setState(6179);
44069 match(DATABASE);
44070 }
44071 break;
44072 case 9:
44073 enterOuterAlt(_localctx, 9);
44074 {
44075 setState(6180);
44076 match(CREATE);
44077 setState(6192);
44078 _errHandler.sync(this);
44079 switch (_input.LA(1)) {
44080 case AVAILABILITY:
44081 {
44082 setState(6181);
44083 match(AVAILABILITY);
44084 setState(6182);
44085 match(GROUP);
44086 }
44087 break;
44088 case DDL:
44089 {
44090 setState(6183);
44091 match(DDL);
44092 setState(6184);
44093 match(EVENT);
44094 setState(6185);
44095 match(NOTIFICATION);
44096 }
44097 break;
44098 case ENDPOINT:
44099 {
44100 setState(6186);
44101 match(ENDPOINT);
44102 }
44103 break;
44104 case SERVER:
44105 {
44106 setState(6187);
44107 match(SERVER);
44108 setState(6188);
44109 match(ROLE);
44110 }
44111 break;
44112 case TRACE:
44113 {
44114 setState(6189);
44115 match(TRACE);
44116 setState(6190);
44117 match(EVENT);
44118 setState(6191);
44119 match(NOTIFICATION);
44120 }
44121 break;
44122 default:
44123 throw new NoViableAltException(this);
44124 }
44125 }
44126 break;
44127 case 10:
44128 enterOuterAlt(_localctx, 10);
44129 {
44130 setState(6194);
44131 match(EXTERNAL);
44132 setState(6195);
44133 match(ACCESS);
44134 setState(6196);
44135 match(ASSEMBLY);
44136 }
44137 break;
44138 case 11:
44139 enterOuterAlt(_localctx, 11);
44140 {
44141 setState(6197);
44142 match(IMPERSONATE);
44143 setState(6198);
44144 match(ANY);
44145 setState(6199);
44146 match(LOGIN);
44147 }
44148 break;
44149 case 12:
44150 enterOuterAlt(_localctx, 12);
44151 {
44152 setState(6200);
44153 match(SELECT);
44154 setState(6201);
44155 match(ALL);
44156 setState(6202);
44157 match(USER);
44158 setState(6203);
44159 match(SECURABLES);
44160 }
44161 break;
44162 case 13:
44163 enterOuterAlt(_localctx, 13);
44164 {
44165 setState(6204);
44166 match(SHUTDOWN);
44167 }
44168 break;
44169 case 14:
44170 enterOuterAlt(_localctx, 14);
44171 {
44172 setState(6205);
44173 match(UNSAFE);
44174 setState(6206);
44175 match(ASSEMBLY);
44176 }
44177 break;
44178 case 15:
44179 enterOuterAlt(_localctx, 15);
44180 {
44181 setState(6207);
44182 match(VIEW);
44183 setState(6208);
44184 match(ANY);
44185 setState(6209);
44186 _la = _input.LA(1);
44187 if ( !(_la==DATABASE || _la==DEFINITION) ) {
44188 _errHandler.recoverInline(this);
44189 }
44190 else {
44191 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44192 _errHandler.reportMatch(this);
44193 consume();
44194 }
44195 }
44196 break;
44197 case 16:
44198 enterOuterAlt(_localctx, 16);
44199 {
44200 setState(6210);
44201 match(VIEW);
44202 setState(6211);
44203 match(SERVER);
44204 setState(6212);
44205 match(STATE);
44206 }
44207 break;
44208 }
44209 }
44210 catch (RecognitionException re) {
44211 _localctx.exception = re;
44212 _errHandler.reportError(this, re);
44213 _errHandler.recover(this, re);
44214 }
44215 finally {
44216 exitRule();
44217 }
44218 return _localctx;
44219 }
44220
44221 public static class ServerPrincipalPermissionContext extends ParserRuleContext {
44222 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44223 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44224 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
44225 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44226 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44227 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44228 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44229 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
44230 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44231 public ServerPrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
44232 super(parent, invokingState);
44233 }
44234 @Override public int getRuleIndex() { return RULE_serverPrincipalPermission; }
44235 @Override
44236 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44237 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPrincipalPermission(this);
44238 else return visitor.visitChildren(this);
44239 }
44240 }
44241
44242 public final ServerPrincipalPermissionContext serverPrincipalPermission() throws RecognitionException {
44243 ServerPrincipalPermissionContext _localctx = new ServerPrincipalPermissionContext(_ctx, getState());
44244 enterRule(_localctx, 858, RULE_serverPrincipalPermission);
44245 int _la;
44246 try {
44247 setState(6233);
44248 _errHandler.sync(this);
44249 switch ( getInterpreter().adaptivePredict(_input,734,_ctx) ) {
44250 case 1:
44251 enterOuterAlt(_localctx, 1);
44252 {
44253 setState(6215);
44254 match(CONTROL);
44255 setState(6217);
44256 _errHandler.sync(this);
44257 _la = _input.LA(1);
44258 if (_la==SERVER) {
44259 {
44260 setState(6216);
44261 match(SERVER);
44262 }
44263 }
44264
44265 }
44266 break;
44267 case 2:
44268 enterOuterAlt(_localctx, 2);
44269 {
44270 setState(6219);
44271 match(IMPERSONATE);
44272 }
44273 break;
44274 case 3:
44275 enterOuterAlt(_localctx, 3);
44276 {
44277 setState(6220);
44278 match(VIEW);
44279 setState(6222);
44280 _errHandler.sync(this);
44281 _la = _input.LA(1);
44282 if (_la==ANY) {
44283 {
44284 setState(6221);
44285 match(ANY);
44286 }
44287 }
44288
44289 setState(6224);
44290 match(DEFINITION);
44291 }
44292 break;
44293 case 4:
44294 enterOuterAlt(_localctx, 4);
44295 {
44296 setState(6225);
44297 match(ALTER);
44298 }
44299 break;
44300 case 5:
44301 enterOuterAlt(_localctx, 5);
44302 {
44303 setState(6226);
44304 match(ALTER);
44305 setState(6227);
44306 match(ANY);
44307 setState(6231);
44308 _errHandler.sync(this);
44309 switch (_input.LA(1)) {
44310 case LOGIN:
44311 {
44312 setState(6228);
44313 match(LOGIN);
44314 }
44315 break;
44316 case SERVER:
44317 {
44318 setState(6229);
44319 match(SERVER);
44320 setState(6230);
44321 match(ROLE);
44322 }
44323 break;
44324 default:
44325 throw new NoViableAltException(this);
44326 }
44327 }
44328 break;
44329 }
44330 }
44331 catch (RecognitionException re) {
44332 _localctx.exception = re;
44333 _errHandler.reportError(this, re);
44334 _errHandler.recover(this, re);
44335 }
44336 finally {
44337 exitRule();
44338 }
44339 return _localctx;
44340 }
44341
44342 public static class DatabasePermissionContext extends ParserRuleContext {
44343 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
44344 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
44345 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
44346 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
44347 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44348 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
44349 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44350 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
44351 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44352 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
44353 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
44354 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
44355 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
44356 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
44357 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
44358 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44359 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
44360 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
44361 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
44362 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
44363 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44364 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44365 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
44366 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
44367 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
44368 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
44369 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
44370 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
44371 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
44372 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44373 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
44374 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
44375 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
44376 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
44377 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
44378 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
44379 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
44380 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
44381 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
44382 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
44383 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
44384 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
44385 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
44386 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
44387 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
44388 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
44389 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
44390 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
44391 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
44392 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
44393 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
44394 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
44395 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
44396 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
44397 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
44398 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44399 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
44400 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
44401 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
44402 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
44403 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
44404 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
44405 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
44406 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
44407 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
44408 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44409 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
44410 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
44411 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
44412 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
44413 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
44414 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
44415 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
44416 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44417 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
44418 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
44419 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
44420 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
44421 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
44422 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44423 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44424 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
44425 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
44426 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
44427 public DatabasePermissionContext(ParserRuleContext parent, int invokingState) {
44428 super(parent, invokingState);
44429 }
44430 @Override public int getRuleIndex() { return RULE_databasePermission; }
44431 @Override
44432 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44433 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePermission(this);
44434 else return visitor.visitChildren(this);
44435 }
44436 }
44437
44438 public final DatabasePermissionContext databasePermission() throws RecognitionException {
44439 DatabasePermissionContext _localctx = new DatabasePermissionContext(_ctx, getState());
44440 enterRule(_localctx, 860, RULE_databasePermission);
44441 int _la;
44442 try {
44443 setState(6402);
44444 _errHandler.sync(this);
44445 switch ( getInterpreter().adaptivePredict(_input,747,_ctx) ) {
44446 case 1:
44447 enterOuterAlt(_localctx, 1);
44448 {
44449 setState(6235);
44450 match(ADMINISTER);
44451 setState(6236);
44452 match(DATABASE);
44453 setState(6237);
44454 match(BULK);
44455 setState(6238);
44456 match(OPERATIONS);
44457 }
44458 break;
44459 case 2:
44460 enterOuterAlt(_localctx, 2);
44461 {
44462 setState(6239);
44463 match(ALTER);
44464 }
44465 break;
44466 case 3:
44467 enterOuterAlt(_localctx, 3);
44468 {
44469 setState(6240);
44470 match(ALTER);
44471 setState(6241);
44472 match(TRACE);
44473 }
44474 break;
44475 case 4:
44476 enterOuterAlt(_localctx, 4);
44477 {
44478 setState(6242);
44479 match(ALTER);
44480 setState(6243);
44481 match(ANY);
44482 setState(6301);
44483 _errHandler.sync(this);
44484 switch ( getInterpreter().adaptivePredict(_input,738,_ctx) ) {
44485 case 1:
44486 {
44487 setState(6244);
44488 match(APPLICATION);
44489 setState(6245);
44490 match(ROLE);
44491 }
44492 break;
44493 case 2:
44494 {
44495 setState(6246);
44496 match(ASSEMBLY);
44497 }
44498 break;
44499 case 3:
44500 {
44501 setState(6251);
44502 _errHandler.sync(this);
44503 switch (_input.LA(1)) {
44504 case SYMMETRIC:
44505 {
44506 setState(6247);
44507 match(SYMMETRIC);
44508 }
44509 break;
44510 case ASYMMETRIC:
44511 {
44512 setState(6248);
44513 match(ASYMMETRIC);
44514 }
44515 break;
44516 case COLUMN:
44517 {
44518 setState(6249);
44519 match(COLUMN);
44520 setState(6250);
44521 match(ENCRYPTION);
44522 }
44523 break;
44524 default:
44525 throw new NoViableAltException(this);
44526 }
44527 setState(6253);
44528 match(KEY);
44529 }
44530 break;
44531 case 4:
44532 {
44533 setState(6254);
44534 match(CERTIFICATE);
44535 }
44536 break;
44537 case 5:
44538 {
44539 setState(6255);
44540 match(CONNECTION);
44541 }
44542 break;
44543 case 6:
44544 {
44545 setState(6256);
44546 match(COLUMN);
44547 setState(6257);
44548 match(MASTER);
44549 setState(6258);
44550 match(KEY);
44551 setState(6259);
44552 match(DEFINITION);
44553 }
44554 break;
44555 case 7:
44556 {
44557 setState(6260);
44558 match(CONTRACT);
44559 }
44560 break;
44561 case 8:
44562 {
44563 setState(6261);
44564 match(DATABASE);
44565 setState(6271);
44566 _errHandler.sync(this);
44567 switch ( getInterpreter().adaptivePredict(_input,736,_ctx) ) {
44568 case 1:
44569 {
44570 setState(6262);
44571 match(AUDIT);
44572 }
44573 break;
44574 case 2:
44575 {
44576 setState(6263);
44577 match(DDL);
44578 setState(6264);
44579 match(TRIGGER);
44580 }
44581 break;
44582 case 3:
44583 {
44584 setState(6265);
44585 match(EVENT);
44586 setState(6266);
44587 match(NOTIFICATION);
44588 }
44589 break;
44590 case 4:
44591 {
44592 setState(6267);
44593 match(EVENT);
44594 setState(6268);
44595 match(SESSION);
44596 }
44597 break;
44598 case 5:
44599 {
44600 setState(6269);
44601 match(SCOPED);
44602 setState(6270);
44603 match(CONFIGURATION);
44604 }
44605 break;
44606 }
44607 }
44608 break;
44609 case 9:
44610 {
44611 setState(6273);
44612 match(DATASPACE);
44613 }
44614 break;
44615 case 10:
44616 {
44617 setState(6274);
44618 match(EVENT);
44619 setState(6275);
44620 _la = _input.LA(1);
44621 if ( !(_la==SESSION || _la==NOTIFICATION) ) {
44622 _errHandler.recoverInline(this);
44623 }
44624 else {
44625 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44626 _errHandler.reportMatch(this);
44627 consume();
44628 }
44629 }
44630 break;
44631 case 11:
44632 {
44633 setState(6276);
44634 match(EXTERNAL);
44635 setState(6282);
44636 _errHandler.sync(this);
44637 switch (_input.LA(1)) {
44638 case DATA:
44639 {
44640 setState(6277);
44641 match(DATA);
44642 setState(6278);
44643 match(SOURCE);
44644 }
44645 break;
44646 case FILE:
44647 {
44648 setState(6279);
44649 match(FILE);
44650 setState(6280);
44651 match(FORMAT);
44652 }
44653 break;
44654 case LIBRARY:
44655 {
44656 setState(6281);
44657 match(LIBRARY);
44658 }
44659 break;
44660 default:
44661 throw new NoViableAltException(this);
44662 }
44663 }
44664 break;
44665 case 12:
44666 {
44667 setState(6284);
44668 match(FULLTEXT);
44669 setState(6285);
44670 match(CATALOG);
44671 }
44672 break;
44673 case 13:
44674 {
44675 setState(6286);
44676 match(MASK);
44677 }
44678 break;
44679 case 14:
44680 {
44681 setState(6287);
44682 match(MESSAGE);
44683 setState(6288);
44684 match(TYPE);
44685 }
44686 break;
44687 case 15:
44688 {
44689 setState(6289);
44690 match(REMOTE);
44691 setState(6290);
44692 match(SERVICE);
44693 setState(6291);
44694 match(BINDING);
44695 }
44696 break;
44697 case 16:
44698 {
44699 setState(6292);
44700 match(ROLE);
44701 }
44702 break;
44703 case 17:
44704 {
44705 setState(6293);
44706 match(ROUTE);
44707 }
44708 break;
44709 case 18:
44710 {
44711 setState(6294);
44712 match(SERVER);
44713 setState(6295);
44714 match(AUDIT);
44715 }
44716 break;
44717 case 19:
44718 {
44719 setState(6296);
44720 match(SCHEMA);
44721 }
44722 break;
44723 case 20:
44724 {
44725 setState(6297);
44726 match(SECURITY);
44727 setState(6298);
44728 match(POLICY);
44729 }
44730 break;
44731 case 21:
44732 {
44733 setState(6299);
44734 match(SERVICE);
44735 }
44736 break;
44737 case 22:
44738 {
44739 setState(6300);
44740 match(USER);
44741 }
44742 break;
44743 }
44744 }
44745 break;
44746 case 5:
44747 enterOuterAlt(_localctx, 5);
44748 {
44749 setState(6303);
44750 match(AUTHENTICATE);
44751 setState(6305);
44752 _errHandler.sync(this);
44753 _la = _input.LA(1);
44754 if (_la==SERVER) {
44755 {
44756 setState(6304);
44757 match(SERVER);
44758 }
44759 }
44760
44761 }
44762 break;
44763 case 6:
44764 enterOuterAlt(_localctx, 6);
44765 {
44766 setState(6307);
44767 match(BACKUP);
44768 setState(6308);
44769 _la = _input.LA(1);
44770 if ( !(_la==DATABASE || _la==LOG) ) {
44771 _errHandler.recoverInline(this);
44772 }
44773 else {
44774 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44775 _errHandler.reportMatch(this);
44776 consume();
44777 }
44778 }
44779 break;
44780 case 7:
44781 enterOuterAlt(_localctx, 7);
44782 {
44783 setState(6309);
44784 match(CHECKPOINT);
44785 }
44786 break;
44787 case 8:
44788 enterOuterAlt(_localctx, 8);
44789 {
44790 setState(6310);
44791 match(CONNECT);
44792 }
44793 break;
44794 case 9:
44795 enterOuterAlt(_localctx, 9);
44796 {
44797 setState(6311);
44798 match(CONNECT);
44799 setState(6313);
44800 _errHandler.sync(this);
44801 _la = _input.LA(1);
44802 if (_la==REPLICATION) {
44803 {
44804 setState(6312);
44805 match(REPLICATION);
44806 }
44807 }
44808
44809 }
44810 break;
44811 case 10:
44812 enterOuterAlt(_localctx, 10);
44813 {
44814 setState(6315);
44815 match(CONTROL);
44816 setState(6317);
44817 _errHandler.sync(this);
44818 _la = _input.LA(1);
44819 if (_la==SERVER) {
44820 {
44821 setState(6316);
44822 match(SERVER);
44823 }
44824 }
44825
44826 }
44827 break;
44828 case 11:
44829 enterOuterAlt(_localctx, 11);
44830 {
44831 setState(6319);
44832 match(CREATE);
44833 setState(6356);
44834 _errHandler.sync(this);
44835 switch ( getInterpreter().adaptivePredict(_input,743,_ctx) ) {
44836 case 1:
44837 {
44838 setState(6320);
44839 match(AGGREGATE);
44840 }
44841 break;
44842 case 2:
44843 {
44844 setState(6321);
44845 match(ASSEMBLY);
44846 }
44847 break;
44848 case 3:
44849 {
44850 setState(6322);
44851 _la = _input.LA(1);
44852 if ( !(_la==SYMMETRIC || _la==ASYMMETRIC) ) {
44853 _errHandler.recoverInline(this);
44854 }
44855 else {
44856 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44857 _errHandler.reportMatch(this);
44858 consume();
44859 }
44860 setState(6323);
44861 match(KEY);
44862 }
44863 break;
44864 case 4:
44865 {
44866 setState(6324);
44867 match(CERTIFICATE);
44868 }
44869 break;
44870 case 5:
44871 {
44872 setState(6325);
44873 match(CONTRACT);
44874 }
44875 break;
44876 case 6:
44877 {
44878 setState(6326);
44879 match(DATABASE);
44880 }
44881 break;
44882 case 7:
44883 {
44884 setState(6328);
44885 _errHandler.sync(this);
44886 _la = _input.LA(1);
44887 if (_la==DATABASE) {
44888 {
44889 setState(6327);
44890 match(DATABASE);
44891 }
44892 }
44893
44894 setState(6330);
44895 match(DDL);
44896 setState(6331);
44897 match(EVENT);
44898 setState(6332);
44899 match(NOTIFICATION);
44900 }
44901 break;
44902 case 8:
44903 {
44904 setState(6333);
44905 match(DEFAULT);
44906 }
44907 break;
44908 case 9:
44909 {
44910 setState(6334);
44911 match(FULLTEXT);
44912 setState(6335);
44913 match(CATALOG);
44914 }
44915 break;
44916 case 10:
44917 {
44918 setState(6336);
44919 match(FUNCTION);
44920 }
44921 break;
44922 case 11:
44923 {
44924 setState(6337);
44925 match(MESSAGE);
44926 setState(6338);
44927 match(TYPE);
44928 }
44929 break;
44930 case 12:
44931 {
44932 setState(6339);
44933 match(PROCEDURE);
44934 }
44935 break;
44936 case 13:
44937 {
44938 setState(6340);
44939 match(QUEUE);
44940 }
44941 break;
44942 case 14:
44943 {
44944 setState(6341);
44945 match(REMOTE);
44946 setState(6342);
44947 match(SERVICE);
44948 setState(6343);
44949 match(BINDING);
44950 }
44951 break;
44952 case 15:
44953 {
44954 setState(6344);
44955 match(ROLE);
44956 }
44957 break;
44958 case 16:
44959 {
44960 setState(6345);
44961 match(ROUTE);
44962 }
44963 break;
44964 case 17:
44965 {
44966 setState(6346);
44967 match(RULE);
44968 }
44969 break;
44970 case 18:
44971 {
44972 setState(6347);
44973 match(SCHEMA);
44974 }
44975 break;
44976 case 19:
44977 {
44978 setState(6348);
44979 match(SERVICE);
44980 }
44981 break;
44982 case 20:
44983 {
44984 setState(6349);
44985 match(SYNONYM);
44986 }
44987 break;
44988 case 21:
44989 {
44990 setState(6350);
44991 match(TABLE);
44992 }
44993 break;
44994 case 22:
44995 {
44996 setState(6351);
44997 match(TYPE);
44998 }
44999 break;
45000 case 23:
45001 {
45002 setState(6352);
45003 match(VIEW);
45004 }
45005 break;
45006 case 24:
45007 {
45008 setState(6353);
45009 match(XML);
45010 setState(6354);
45011 match(SCHEMA);
45012 setState(6355);
45013 match(COLLECTION);
45014 }
45015 break;
45016 }
45017 }
45018 break;
45019 case 12:
45020 enterOuterAlt(_localctx, 12);
45021 {
45022 setState(6358);
45023 match(DELETE);
45024 }
45025 break;
45026 case 13:
45027 enterOuterAlt(_localctx, 13);
45028 {
45029 setState(6359);
45030 match(EXECUTE);
45031 }
45032 break;
45033 case 14:
45034 enterOuterAlt(_localctx, 14);
45035 {
45036 setState(6360);
45037 match(EXECUTE);
45038 setState(6362);
45039 _errHandler.sync(this);
45040 _la = _input.LA(1);
45041 if (_la==ANY) {
45042 {
45043 setState(6361);
45044 match(ANY);
45045 }
45046 }
45047
45048 setState(6364);
45049 match(EXTERNAL);
45050 setState(6365);
45051 match(SCRIPT);
45052 }
45053 break;
45054 case 15:
45055 enterOuterAlt(_localctx, 15);
45056 {
45057 setState(6366);
45058 match(INSERT);
45059 }
45060 break;
45061 case 16:
45062 enterOuterAlt(_localctx, 16);
45063 {
45064 setState(6367);
45065 match(KILL);
45066 setState(6368);
45067 match(DATABASE);
45068 setState(6369);
45069 match(CONNECTION);
45070 }
45071 break;
45072 case 17:
45073 enterOuterAlt(_localctx, 17);
45074 {
45075 setState(6370);
45076 match(REFERENCES);
45077 }
45078 break;
45079 case 18:
45080 enterOuterAlt(_localctx, 18);
45081 {
45082 setState(6371);
45083 match(SELECT);
45084 }
45085 break;
45086 case 19:
45087 enterOuterAlt(_localctx, 19);
45088 {
45089 setState(6372);
45090 match(SHOWPLAN);
45091 }
45092 break;
45093 case 20:
45094 enterOuterAlt(_localctx, 20);
45095 {
45096 setState(6373);
45097 match(SUBSCRIBE);
45098 setState(6374);
45099 match(QUERY);
45100 setState(6375);
45101 match(NOTIFICATIONS);
45102 }
45103 break;
45104 case 21:
45105 enterOuterAlt(_localctx, 21);
45106 {
45107 setState(6376);
45108 match(TAKE);
45109 setState(6377);
45110 match(OWNERSHIP);
45111 }
45112 break;
45113 case 22:
45114 enterOuterAlt(_localctx, 22);
45115 {
45116 setState(6378);
45117 match(UNMASK);
45118 }
45119 break;
45120 case 23:
45121 enterOuterAlt(_localctx, 23);
45122 {
45123 setState(6379);
45124 match(UPDATE);
45125 }
45126 break;
45127 case 24:
45128 enterOuterAlt(_localctx, 24);
45129 {
45130 setState(6380);
45131 match(VIEW);
45132 setState(6381);
45133 match(ANY);
45134 setState(6382);
45135 match(COLUMN);
45136 setState(6383);
45137 _la = _input.LA(1);
45138 if ( !(_la==ENCRYPTION || _la==MASTER) ) {
45139 _errHandler.recoverInline(this);
45140 }
45141 else {
45142 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45143 _errHandler.reportMatch(this);
45144 consume();
45145 }
45146 setState(6384);
45147 match(KEY);
45148 setState(6385);
45149 match(DEFINITION);
45150 }
45151 break;
45152 case 25:
45153 enterOuterAlt(_localctx, 25);
45154 {
45155 setState(6386);
45156 match(CREATE);
45157 setState(6387);
45158 match(ANY);
45159 setState(6391);
45160 _errHandler.sync(this);
45161 switch (_input.LA(1)) {
45162 case DATABASE:
45163 {
45164 setState(6388);
45165 match(DATABASE);
45166 }
45167 break;
45168 case EXTERNAL:
45169 {
45170 setState(6389);
45171 match(EXTERNAL);
45172 setState(6390);
45173 match(LIBRARY);
45174 }
45175 break;
45176 default:
45177 throw new NoViableAltException(this);
45178 }
45179 }
45180 break;
45181 case 26:
45182 enterOuterAlt(_localctx, 26);
45183 {
45184 setState(6393);
45185 match(VIEW);
45186 setState(6394);
45187 _la = _input.LA(1);
45188 if ( !(_la==DATABASE || _la==SERVER) ) {
45189 _errHandler.recoverInline(this);
45190 }
45191 else {
45192 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45193 _errHandler.reportMatch(this);
45194 consume();
45195 }
45196 setState(6395);
45197 match(STATE);
45198 }
45199 break;
45200 case 27:
45201 enterOuterAlt(_localctx, 27);
45202 {
45203 setState(6396);
45204 match(VIEW);
45205 setState(6398);
45206 _errHandler.sync(this);
45207 _la = _input.LA(1);
45208 if (_la==ANY) {
45209 {
45210 setState(6397);
45211 match(ANY);
45212 }
45213 }
45214
45215 setState(6400);
45216 match(DEFINITION);
45217 }
45218 break;
45219 case 28:
45220 enterOuterAlt(_localctx, 28);
45221 {
45222 }
45223 break;
45224 }
45225 }
45226 catch (RecognitionException re) {
45227 _localctx.exception = re;
45228 _errHandler.reportError(this, re);
45229 _errHandler.recover(this, re);
45230 }
45231 finally {
45232 exitRule();
45233 }
45234 return _localctx;
45235 }
45236
45237 public static class DatabasePrincipalPermissionContext extends ParserRuleContext {
45238 public DatabaseUserPermissionContext databaseUserPermission() {
45239 return getRuleContext(DatabaseUserPermissionContext.class,0);
45240 }
45241 public DatabaseRolePermissionContext databaseRolePermission() {
45242 return getRuleContext(DatabaseRolePermissionContext.class,0);
45243 }
45244 public ApplicationRolePermissionContext applicationRolePermission() {
45245 return getRuleContext(ApplicationRolePermissionContext.class,0);
45246 }
45247 public DatabasePrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
45248 super(parent, invokingState);
45249 }
45250 @Override public int getRuleIndex() { return RULE_databasePrincipalPermission; }
45251 @Override
45252 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45253 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePrincipalPermission(this);
45254 else return visitor.visitChildren(this);
45255 }
45256 }
45257
45258 public final DatabasePrincipalPermissionContext databasePrincipalPermission() throws RecognitionException {
45259 DatabasePrincipalPermissionContext _localctx = new DatabasePrincipalPermissionContext(_ctx, getState());
45260 enterRule(_localctx, 862, RULE_databasePrincipalPermission);
45261 try {
45262 setState(6407);
45263 _errHandler.sync(this);
45264 switch ( getInterpreter().adaptivePredict(_input,748,_ctx) ) {
45265 case 1:
45266 enterOuterAlt(_localctx, 1);
45267 {
45268 setState(6404);
45269 databaseUserPermission();
45270 }
45271 break;
45272 case 2:
45273 enterOuterAlt(_localctx, 2);
45274 {
45275 setState(6405);
45276 databaseRolePermission();
45277 }
45278 break;
45279 case 3:
45280 enterOuterAlt(_localctx, 3);
45281 {
45282 setState(6406);
45283 applicationRolePermission();
45284 }
45285 break;
45286 }
45287 }
45288 catch (RecognitionException re) {
45289 _localctx.exception = re;
45290 _errHandler.reportError(this, re);
45291 _errHandler.recover(this, re);
45292 }
45293 finally {
45294 exitRule();
45295 }
45296 return _localctx;
45297 }
45298
45299 public static class DatabaseUserPermissionContext extends ParserRuleContext {
45300 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45301 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
45302 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45303 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45304 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45305 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45306 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45307 public DatabaseUserPermissionContext(ParserRuleContext parent, int invokingState) {
45308 super(parent, invokingState);
45309 }
45310 @Override public int getRuleIndex() { return RULE_databaseUserPermission; }
45311 @Override
45312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseUserPermission(this);
45314 else return visitor.visitChildren(this);
45315 }
45316 }
45317
45318 public final DatabaseUserPermissionContext databaseUserPermission() throws RecognitionException {
45319 DatabaseUserPermissionContext _localctx = new DatabaseUserPermissionContext(_ctx, getState());
45320 enterRule(_localctx, 864, RULE_databaseUserPermission);
45321 try {
45322 setState(6417);
45323 _errHandler.sync(this);
45324 switch ( getInterpreter().adaptivePredict(_input,749,_ctx) ) {
45325 case 1:
45326 enterOuterAlt(_localctx, 1);
45327 {
45328 setState(6409);
45329 match(CONTROL);
45330 }
45331 break;
45332 case 2:
45333 enterOuterAlt(_localctx, 2);
45334 {
45335 setState(6410);
45336 match(IMPERSONATE);
45337 }
45338 break;
45339 case 3:
45340 enterOuterAlt(_localctx, 3);
45341 {
45342 setState(6411);
45343 match(ALTER);
45344 }
45345 break;
45346 case 4:
45347 enterOuterAlt(_localctx, 4);
45348 {
45349 setState(6412);
45350 match(VIEW);
45351 setState(6413);
45352 match(DEFINITION);
45353 }
45354 break;
45355 case 5:
45356 enterOuterAlt(_localctx, 5);
45357 {
45358 setState(6414);
45359 match(ALTER);
45360 setState(6415);
45361 match(ANY);
45362 setState(6416);
45363 match(USER);
45364 }
45365 break;
45366 }
45367 }
45368 catch (RecognitionException re) {
45369 _localctx.exception = re;
45370 _errHandler.reportError(this, re);
45371 _errHandler.recover(this, re);
45372 }
45373 finally {
45374 exitRule();
45375 }
45376 return _localctx;
45377 }
45378
45379 public static class DatabaseRolePermissionContext extends ParserRuleContext {
45380 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45381 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45382 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45383 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45384 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45385 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45386 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45387 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45388 public DatabaseRolePermissionContext(ParserRuleContext parent, int invokingState) {
45389 super(parent, invokingState);
45390 }
45391 @Override public int getRuleIndex() { return RULE_databaseRolePermission; }
45392 @Override
45393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseRolePermission(this);
45395 else return visitor.visitChildren(this);
45396 }
45397 }
45398
45399 public final DatabaseRolePermissionContext databaseRolePermission() throws RecognitionException {
45400 DatabaseRolePermissionContext _localctx = new DatabaseRolePermissionContext(_ctx, getState());
45401 enterRule(_localctx, 866, RULE_databaseRolePermission);
45402 try {
45403 setState(6428);
45404 _errHandler.sync(this);
45405 switch ( getInterpreter().adaptivePredict(_input,750,_ctx) ) {
45406 case 1:
45407 enterOuterAlt(_localctx, 1);
45408 {
45409 setState(6419);
45410 match(CONTROL);
45411 }
45412 break;
45413 case 2:
45414 enterOuterAlt(_localctx, 2);
45415 {
45416 setState(6420);
45417 match(TAKE);
45418 setState(6421);
45419 match(OWNERSHIP);
45420 }
45421 break;
45422 case 3:
45423 enterOuterAlt(_localctx, 3);
45424 {
45425 setState(6422);
45426 match(ALTER);
45427 }
45428 break;
45429 case 4:
45430 enterOuterAlt(_localctx, 4);
45431 {
45432 setState(6423);
45433 match(VIEW);
45434 setState(6424);
45435 match(DEFINITION);
45436 }
45437 break;
45438 case 5:
45439 enterOuterAlt(_localctx, 5);
45440 {
45441 setState(6425);
45442 match(ALTER);
45443 setState(6426);
45444 match(ANY);
45445 setState(6427);
45446 match(ROLE);
45447 }
45448 break;
45449 }
45450 }
45451 catch (RecognitionException re) {
45452 _localctx.exception = re;
45453 _errHandler.reportError(this, re);
45454 _errHandler.recover(this, re);
45455 }
45456 finally {
45457 exitRule();
45458 }
45459 return _localctx;
45460 }
45461
45462 public static class ApplicationRolePermissionContext extends ParserRuleContext {
45463 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45464 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45465 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45466 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45467 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45468 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
45469 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45470 public ApplicationRolePermissionContext(ParserRuleContext parent, int invokingState) {
45471 super(parent, invokingState);
45472 }
45473 @Override public int getRuleIndex() { return RULE_applicationRolePermission; }
45474 @Override
45475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApplicationRolePermission(this);
45477 else return visitor.visitChildren(this);
45478 }
45479 }
45480
45481 public final ApplicationRolePermissionContext applicationRolePermission() throws RecognitionException {
45482 ApplicationRolePermissionContext _localctx = new ApplicationRolePermissionContext(_ctx, getState());
45483 enterRule(_localctx, 868, RULE_applicationRolePermission);
45484 try {
45485 setState(6438);
45486 _errHandler.sync(this);
45487 switch ( getInterpreter().adaptivePredict(_input,751,_ctx) ) {
45488 case 1:
45489 enterOuterAlt(_localctx, 1);
45490 {
45491 setState(6430);
45492 match(CONTROL);
45493 }
45494 break;
45495 case 2:
45496 enterOuterAlt(_localctx, 2);
45497 {
45498 setState(6431);
45499 match(ALTER);
45500 }
45501 break;
45502 case 3:
45503 enterOuterAlt(_localctx, 3);
45504 {
45505 setState(6432);
45506 match(VIEW);
45507 setState(6433);
45508 match(DEFINITION);
45509 }
45510 break;
45511 case 4:
45512 enterOuterAlt(_localctx, 4);
45513 {
45514 setState(6434);
45515 match(ALTER);
45516 setState(6435);
45517 match(ANY);
45518 setState(6436);
45519 match(APPLICATION);
45520 setState(6437);
45521 match(ROLE);
45522 }
45523 break;
45524 }
45525 }
45526 catch (RecognitionException re) {
45527 _localctx.exception = re;
45528 _errHandler.reportError(this, re);
45529 _errHandler.recover(this, re);
45530 }
45531 finally {
45532 exitRule();
45533 }
45534 return _localctx;
45535 }
45536
45537 public static class DatabaseScopedCredentialPermissionContext extends ParserRuleContext {
45538 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45539 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45540 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45541 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45542 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45543 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45544 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45545 public DatabaseScopedCredentialPermissionContext(ParserRuleContext parent, int invokingState) {
45546 super(parent, invokingState);
45547 }
45548 @Override public int getRuleIndex() { return RULE_databaseScopedCredentialPermission; }
45549 @Override
45550 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45551 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseScopedCredentialPermission(this);
45552 else return visitor.visitChildren(this);
45553 }
45554 }
45555
45556 public final DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() throws RecognitionException {
45557 DatabaseScopedCredentialPermissionContext _localctx = new DatabaseScopedCredentialPermissionContext(_ctx, getState());
45558 enterRule(_localctx, 870, RULE_databaseScopedCredentialPermission);
45559 try {
45560 setState(6447);
45561 _errHandler.sync(this);
45562 switch (_input.LA(1)) {
45563 case CONTROL:
45564 enterOuterAlt(_localctx, 1);
45565 {
45566 setState(6440);
45567 match(CONTROL);
45568 }
45569 break;
45570 case TAKE:
45571 enterOuterAlt(_localctx, 2);
45572 {
45573 setState(6441);
45574 match(TAKE);
45575 setState(6442);
45576 match(OWNERSHIP);
45577 }
45578 break;
45579 case ALTER:
45580 enterOuterAlt(_localctx, 3);
45581 {
45582 setState(6443);
45583 match(ALTER);
45584 }
45585 break;
45586 case REFERENCES:
45587 enterOuterAlt(_localctx, 4);
45588 {
45589 setState(6444);
45590 match(REFERENCES);
45591 }
45592 break;
45593 case VIEW:
45594 enterOuterAlt(_localctx, 5);
45595 {
45596 setState(6445);
45597 match(VIEW);
45598 setState(6446);
45599 match(DEFINITION);
45600 }
45601 break;
45602 default:
45603 throw new NoViableAltException(this);
45604 }
45605 }
45606 catch (RecognitionException re) {
45607 _localctx.exception = re;
45608 _errHandler.reportError(this, re);
45609 _errHandler.recover(this, re);
45610 }
45611 finally {
45612 exitRule();
45613 }
45614 return _localctx;
45615 }
45616
45617 public static class SchemaPermissionContext extends ParserRuleContext {
45618 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45619 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45620 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
45621 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
45622 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
45623 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45624 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
45625 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45626 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45627 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45628 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45629 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
45630 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45631 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
45632 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
45633 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45634 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45635 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
45636 public SchemaPermissionContext(ParserRuleContext parent, int invokingState) {
45637 super(parent, invokingState);
45638 }
45639 @Override public int getRuleIndex() { return RULE_schemaPermission; }
45640 @Override
45641 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45642 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaPermission(this);
45643 else return visitor.visitChildren(this);
45644 }
45645 }
45646
45647 public final SchemaPermissionContext schemaPermission() throws RecognitionException {
45648 SchemaPermissionContext _localctx = new SchemaPermissionContext(_ctx, getState());
45649 enterRule(_localctx, 872, RULE_schemaPermission);
45650 try {
45651 setState(6469);
45652 _errHandler.sync(this);
45653 switch ( getInterpreter().adaptivePredict(_input,753,_ctx) ) {
45654 case 1:
45655 enterOuterAlt(_localctx, 1);
45656 {
45657 setState(6449);
45658 match(ALTER);
45659 }
45660 break;
45661 case 2:
45662 enterOuterAlt(_localctx, 2);
45663 {
45664 setState(6450);
45665 match(CONTROL);
45666 }
45667 break;
45668 case 3:
45669 enterOuterAlt(_localctx, 3);
45670 {
45671 setState(6451);
45672 match(CREATE);
45673 setState(6452);
45674 match(SEQUENCE);
45675 }
45676 break;
45677 case 4:
45678 enterOuterAlt(_localctx, 4);
45679 {
45680 setState(6453);
45681 match(DELETE);
45682 }
45683 break;
45684 case 5:
45685 enterOuterAlt(_localctx, 5);
45686 {
45687 setState(6454);
45688 match(EXECUTE);
45689 }
45690 break;
45691 case 6:
45692 enterOuterAlt(_localctx, 6);
45693 {
45694 setState(6455);
45695 match(INSERT);
45696 }
45697 break;
45698 case 7:
45699 enterOuterAlt(_localctx, 7);
45700 {
45701 setState(6456);
45702 match(REFERENCES);
45703 }
45704 break;
45705 case 8:
45706 enterOuterAlt(_localctx, 8);
45707 {
45708 setState(6457);
45709 match(SELECT);
45710 }
45711 break;
45712 case 9:
45713 enterOuterAlt(_localctx, 9);
45714 {
45715 setState(6458);
45716 match(TAKE);
45717 setState(6459);
45718 match(OWNERSHIP);
45719 }
45720 break;
45721 case 10:
45722 enterOuterAlt(_localctx, 10);
45723 {
45724 setState(6460);
45725 match(UPDATE);
45726 }
45727 break;
45728 case 11:
45729 enterOuterAlt(_localctx, 11);
45730 {
45731 setState(6461);
45732 match(VIEW);
45733 setState(6462);
45734 match(CHANGE);
45735 setState(6463);
45736 match(TRACKING);
45737 }
45738 break;
45739 case 12:
45740 enterOuterAlt(_localctx, 12);
45741 {
45742 setState(6464);
45743 match(VIEW);
45744 setState(6465);
45745 match(DEFINITION);
45746 }
45747 break;
45748 case 13:
45749 enterOuterAlt(_localctx, 13);
45750 {
45751 setState(6466);
45752 match(ALTER);
45753 setState(6467);
45754 match(ANY);
45755 setState(6468);
45756 match(SCHEMA);
45757 }
45758 break;
45759 }
45760 }
45761 catch (RecognitionException re) {
45762 _localctx.exception = re;
45763 _errHandler.reportError(this, re);
45764 _errHandler.recover(this, re);
45765 }
45766 finally {
45767 exitRule();
45768 }
45769 return _localctx;
45770 }
45771
45772 public static class SearchPropertyListPermissionContext extends ParserRuleContext {
45773 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45774 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45775 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45776 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45777 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45778 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45779 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45780 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45781 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45782 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45783 public SearchPropertyListPermissionContext(ParserRuleContext parent, int invokingState) {
45784 super(parent, invokingState);
45785 }
45786 @Override public int getRuleIndex() { return RULE_searchPropertyListPermission; }
45787 @Override
45788 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45789 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSearchPropertyListPermission(this);
45790 else return visitor.visitChildren(this);
45791 }
45792 }
45793
45794 public final SearchPropertyListPermissionContext searchPropertyListPermission() throws RecognitionException {
45795 SearchPropertyListPermissionContext _localctx = new SearchPropertyListPermissionContext(_ctx, getState());
45796 enterRule(_localctx, 874, RULE_searchPropertyListPermission);
45797 try {
45798 setState(6482);
45799 _errHandler.sync(this);
45800 switch ( getInterpreter().adaptivePredict(_input,754,_ctx) ) {
45801 case 1:
45802 enterOuterAlt(_localctx, 1);
45803 {
45804 setState(6471);
45805 match(ALTER);
45806 }
45807 break;
45808 case 2:
45809 enterOuterAlt(_localctx, 2);
45810 {
45811 setState(6472);
45812 match(CONTROL);
45813 }
45814 break;
45815 case 3:
45816 enterOuterAlt(_localctx, 3);
45817 {
45818 setState(6473);
45819 match(REFERENCES);
45820 }
45821 break;
45822 case 4:
45823 enterOuterAlt(_localctx, 4);
45824 {
45825 setState(6474);
45826 match(TAKE);
45827 setState(6475);
45828 match(OWNERSHIP);
45829 }
45830 break;
45831 case 5:
45832 enterOuterAlt(_localctx, 5);
45833 {
45834 setState(6476);
45835 match(VIEW);
45836 setState(6477);
45837 match(DEFINITION);
45838 }
45839 break;
45840 case 6:
45841 enterOuterAlt(_localctx, 6);
45842 {
45843 setState(6478);
45844 match(ALTER);
45845 setState(6479);
45846 match(ANY);
45847 setState(6480);
45848 match(FULLTEXT);
45849 setState(6481);
45850 match(CATALOG);
45851 }
45852 break;
45853 }
45854 }
45855 catch (RecognitionException re) {
45856 _localctx.exception = re;
45857 _errHandler.reportError(this, re);
45858 _errHandler.recover(this, re);
45859 }
45860 finally {
45861 exitRule();
45862 }
45863 return _localctx;
45864 }
45865
45866 public static class ServiceBrokerPermissionContext extends ParserRuleContext {
45867 public ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() {
45868 return getRuleContext(ServiceBrokerContractsPermissionContext.class,0);
45869 }
45870 public ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() {
45871 return getRuleContext(ServiceBrokerMessageTypesPermissionContext.class,0);
45872 }
45873 public ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() {
45874 return getRuleContext(ServiceBrokerRemoteServiceBindingsPermissionContext.class,0);
45875 }
45876 public ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() {
45877 return getRuleContext(ServiceBrokerRoutesPermissionContext.class,0);
45878 }
45879 public ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() {
45880 return getRuleContext(ServiceBrokerServicesPermissionContext.class,0);
45881 }
45882 public ServiceBrokerPermissionContext(ParserRuleContext parent, int invokingState) {
45883 super(parent, invokingState);
45884 }
45885 @Override public int getRuleIndex() { return RULE_serviceBrokerPermission; }
45886 @Override
45887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerPermission(this);
45889 else return visitor.visitChildren(this);
45890 }
45891 }
45892
45893 public final ServiceBrokerPermissionContext serviceBrokerPermission() throws RecognitionException {
45894 ServiceBrokerPermissionContext _localctx = new ServiceBrokerPermissionContext(_ctx, getState());
45895 enterRule(_localctx, 876, RULE_serviceBrokerPermission);
45896 try {
45897 setState(6489);
45898 _errHandler.sync(this);
45899 switch ( getInterpreter().adaptivePredict(_input,755,_ctx) ) {
45900 case 1:
45901 enterOuterAlt(_localctx, 1);
45902 {
45903 setState(6484);
45904 serviceBrokerContractsPermission();
45905 }
45906 break;
45907 case 2:
45908 enterOuterAlt(_localctx, 2);
45909 {
45910 setState(6485);
45911 serviceBrokerMessageTypesPermission();
45912 }
45913 break;
45914 case 3:
45915 enterOuterAlt(_localctx, 3);
45916 {
45917 setState(6486);
45918 serviceBrokerRemoteServiceBindingsPermission();
45919 }
45920 break;
45921 case 4:
45922 enterOuterAlt(_localctx, 4);
45923 {
45924 setState(6487);
45925 serviceBrokerRoutesPermission();
45926 }
45927 break;
45928 case 5:
45929 enterOuterAlt(_localctx, 5);
45930 {
45931 setState(6488);
45932 serviceBrokerServicesPermission();
45933 }
45934 break;
45935 }
45936 }
45937 catch (RecognitionException re) {
45938 _localctx.exception = re;
45939 _errHandler.reportError(this, re);
45940 _errHandler.recover(this, re);
45941 }
45942 finally {
45943 exitRule();
45944 }
45945 return _localctx;
45946 }
45947
45948 public static class ServiceBrokerContractsPermissionContext extends ParserRuleContext {
45949 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45950 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45951 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45952 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45953 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45954 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45955 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45956 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45957 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
45958 public ServiceBrokerContractsPermissionContext(ParserRuleContext parent, int invokingState) {
45959 super(parent, invokingState);
45960 }
45961 @Override public int getRuleIndex() { return RULE_serviceBrokerContractsPermission; }
45962 @Override
45963 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45964 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerContractsPermission(this);
45965 else return visitor.visitChildren(this);
45966 }
45967 }
45968
45969 public final ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() throws RecognitionException {
45970 ServiceBrokerContractsPermissionContext _localctx = new ServiceBrokerContractsPermissionContext(_ctx, getState());
45971 enterRule(_localctx, 878, RULE_serviceBrokerContractsPermission);
45972 try {
45973 setState(6501);
45974 _errHandler.sync(this);
45975 switch ( getInterpreter().adaptivePredict(_input,756,_ctx) ) {
45976 case 1:
45977 enterOuterAlt(_localctx, 1);
45978 {
45979 setState(6491);
45980 match(CONTROL);
45981 }
45982 break;
45983 case 2:
45984 enterOuterAlt(_localctx, 2);
45985 {
45986 setState(6492);
45987 match(TAKE);
45988 setState(6493);
45989 match(OWNERSHIP);
45990 }
45991 break;
45992 case 3:
45993 enterOuterAlt(_localctx, 3);
45994 {
45995 setState(6494);
45996 match(ALTER);
45997 }
45998 break;
45999 case 4:
46000 enterOuterAlt(_localctx, 4);
46001 {
46002 setState(6495);
46003 match(REFERENCES);
46004 }
46005 break;
46006 case 5:
46007 enterOuterAlt(_localctx, 5);
46008 {
46009 setState(6496);
46010 match(VIEW);
46011 setState(6497);
46012 match(DEFINITION);
46013 }
46014 break;
46015 case 6:
46016 enterOuterAlt(_localctx, 6);
46017 {
46018 setState(6498);
46019 match(ALTER);
46020 setState(6499);
46021 match(ANY);
46022 setState(6500);
46023 match(CONTRACT);
46024 }
46025 break;
46026 }
46027 }
46028 catch (RecognitionException re) {
46029 _localctx.exception = re;
46030 _errHandler.reportError(this, re);
46031 _errHandler.recover(this, re);
46032 }
46033 finally {
46034 exitRule();
46035 }
46036 return _localctx;
46037 }
46038
46039 public static class ServiceBrokerMessageTypesPermissionContext extends ParserRuleContext {
46040 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46041 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46042 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46043 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46044 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46045 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46046 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46047 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46048 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
46049 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
46050 public ServiceBrokerMessageTypesPermissionContext(ParserRuleContext parent, int invokingState) {
46051 super(parent, invokingState);
46052 }
46053 @Override public int getRuleIndex() { return RULE_serviceBrokerMessageTypesPermission; }
46054 @Override
46055 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46056 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerMessageTypesPermission(this);
46057 else return visitor.visitChildren(this);
46058 }
46059 }
46060
46061 public final ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() throws RecognitionException {
46062 ServiceBrokerMessageTypesPermissionContext _localctx = new ServiceBrokerMessageTypesPermissionContext(_ctx, getState());
46063 enterRule(_localctx, 880, RULE_serviceBrokerMessageTypesPermission);
46064 try {
46065 setState(6514);
46066 _errHandler.sync(this);
46067 switch ( getInterpreter().adaptivePredict(_input,757,_ctx) ) {
46068 case 1:
46069 enterOuterAlt(_localctx, 1);
46070 {
46071 setState(6503);
46072 match(CONTROL);
46073 }
46074 break;
46075 case 2:
46076 enterOuterAlt(_localctx, 2);
46077 {
46078 setState(6504);
46079 match(TAKE);
46080 setState(6505);
46081 match(OWNERSHIP);
46082 }
46083 break;
46084 case 3:
46085 enterOuterAlt(_localctx, 3);
46086 {
46087 setState(6506);
46088 match(ALTER);
46089 }
46090 break;
46091 case 4:
46092 enterOuterAlt(_localctx, 4);
46093 {
46094 setState(6507);
46095 match(REFERENCES);
46096 }
46097 break;
46098 case 5:
46099 enterOuterAlt(_localctx, 5);
46100 {
46101 setState(6508);
46102 match(VIEW);
46103 setState(6509);
46104 match(DEFINITION);
46105 }
46106 break;
46107 case 6:
46108 enterOuterAlt(_localctx, 6);
46109 {
46110 setState(6510);
46111 match(ALTER);
46112 setState(6511);
46113 match(ANY);
46114 setState(6512);
46115 match(MESSAGE);
46116 setState(6513);
46117 match(TYPE);
46118 }
46119 break;
46120 }
46121 }
46122 catch (RecognitionException re) {
46123 _localctx.exception = re;
46124 _errHandler.reportError(this, re);
46125 _errHandler.recover(this, re);
46126 }
46127 finally {
46128 exitRule();
46129 }
46130 return _localctx;
46131 }
46132
46133 public static class ServiceBrokerRemoteServiceBindingsPermissionContext extends ParserRuleContext {
46134 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46135 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46136 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46137 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46138 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46139 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46140 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46141 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
46142 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
46143 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
46144 public ServiceBrokerRemoteServiceBindingsPermissionContext(ParserRuleContext parent, int invokingState) {
46145 super(parent, invokingState);
46146 }
46147 @Override public int getRuleIndex() { return RULE_serviceBrokerRemoteServiceBindingsPermission; }
46148 @Override
46149 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46150 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRemoteServiceBindingsPermission(this);
46151 else return visitor.visitChildren(this);
46152 }
46153 }
46154
46155 public final ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() throws RecognitionException {
46156 ServiceBrokerRemoteServiceBindingsPermissionContext _localctx = new ServiceBrokerRemoteServiceBindingsPermissionContext(_ctx, getState());
46157 enterRule(_localctx, 882, RULE_serviceBrokerRemoteServiceBindingsPermission);
46158 try {
46159 setState(6527);
46160 _errHandler.sync(this);
46161 switch ( getInterpreter().adaptivePredict(_input,758,_ctx) ) {
46162 case 1:
46163 enterOuterAlt(_localctx, 1);
46164 {
46165 setState(6516);
46166 match(CONTROL);
46167 }
46168 break;
46169 case 2:
46170 enterOuterAlt(_localctx, 2);
46171 {
46172 setState(6517);
46173 match(TAKE);
46174 setState(6518);
46175 match(OWNERSHIP);
46176 }
46177 break;
46178 case 3:
46179 enterOuterAlt(_localctx, 3);
46180 {
46181 setState(6519);
46182 match(ALTER);
46183 }
46184 break;
46185 case 4:
46186 enterOuterAlt(_localctx, 4);
46187 {
46188 setState(6520);
46189 match(VIEW);
46190 setState(6521);
46191 match(DEFINITION);
46192 }
46193 break;
46194 case 5:
46195 enterOuterAlt(_localctx, 5);
46196 {
46197 setState(6522);
46198 match(ALTER);
46199 setState(6523);
46200 match(ANY);
46201 setState(6524);
46202 match(REMOTE);
46203 setState(6525);
46204 match(SERVICE);
46205 setState(6526);
46206 match(BINDING);
46207 }
46208 break;
46209 }
46210 }
46211 catch (RecognitionException re) {
46212 _localctx.exception = re;
46213 _errHandler.reportError(this, re);
46214 _errHandler.recover(this, re);
46215 }
46216 finally {
46217 exitRule();
46218 }
46219 return _localctx;
46220 }
46221
46222 public static class ServiceBrokerRoutesPermissionContext extends ParserRuleContext {
46223 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46224 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46225 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46226 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46227 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46228 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46229 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46230 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
46231 public ServiceBrokerRoutesPermissionContext(ParserRuleContext parent, int invokingState) {
46232 super(parent, invokingState);
46233 }
46234 @Override public int getRuleIndex() { return RULE_serviceBrokerRoutesPermission; }
46235 @Override
46236 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46237 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRoutesPermission(this);
46238 else return visitor.visitChildren(this);
46239 }
46240 }
46241
46242 public final ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() throws RecognitionException {
46243 ServiceBrokerRoutesPermissionContext _localctx = new ServiceBrokerRoutesPermissionContext(_ctx, getState());
46244 enterRule(_localctx, 884, RULE_serviceBrokerRoutesPermission);
46245 try {
46246 setState(6538);
46247 _errHandler.sync(this);
46248 switch ( getInterpreter().adaptivePredict(_input,759,_ctx) ) {
46249 case 1:
46250 enterOuterAlt(_localctx, 1);
46251 {
46252 setState(6529);
46253 match(CONTROL);
46254 }
46255 break;
46256 case 2:
46257 enterOuterAlt(_localctx, 2);
46258 {
46259 setState(6530);
46260 match(TAKE);
46261 setState(6531);
46262 match(OWNERSHIP);
46263 }
46264 break;
46265 case 3:
46266 enterOuterAlt(_localctx, 3);
46267 {
46268 setState(6532);
46269 match(ALTER);
46270 }
46271 break;
46272 case 4:
46273 enterOuterAlt(_localctx, 4);
46274 {
46275 setState(6533);
46276 match(VIEW);
46277 setState(6534);
46278 match(DEFINITION);
46279 }
46280 break;
46281 case 5:
46282 enterOuterAlt(_localctx, 5);
46283 {
46284 setState(6535);
46285 match(ALTER);
46286 setState(6536);
46287 match(ANY);
46288 setState(6537);
46289 match(ROUTE);
46290 }
46291 break;
46292 }
46293 }
46294 catch (RecognitionException re) {
46295 _localctx.exception = re;
46296 _errHandler.reportError(this, re);
46297 _errHandler.recover(this, re);
46298 }
46299 finally {
46300 exitRule();
46301 }
46302 return _localctx;
46303 }
46304
46305 public static class ServiceBrokerServicesPermissionContext extends ParserRuleContext {
46306 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46307 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46308 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46309 public TerminalNode SEND() { return getToken(SQLServerStatementParser.SEND, 0); }
46310 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46311 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46312 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46313 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46314 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
46315 public ServiceBrokerServicesPermissionContext(ParserRuleContext parent, int invokingState) {
46316 super(parent, invokingState);
46317 }
46318 @Override public int getRuleIndex() { return RULE_serviceBrokerServicesPermission; }
46319 @Override
46320 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46321 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerServicesPermission(this);
46322 else return visitor.visitChildren(this);
46323 }
46324 }
46325
46326 public final ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() throws RecognitionException {
46327 ServiceBrokerServicesPermissionContext _localctx = new ServiceBrokerServicesPermissionContext(_ctx, getState());
46328 enterRule(_localctx, 886, RULE_serviceBrokerServicesPermission);
46329 try {
46330 setState(6550);
46331 _errHandler.sync(this);
46332 switch ( getInterpreter().adaptivePredict(_input,760,_ctx) ) {
46333 case 1:
46334 enterOuterAlt(_localctx, 1);
46335 {
46336 setState(6540);
46337 match(CONTROL);
46338 }
46339 break;
46340 case 2:
46341 enterOuterAlt(_localctx, 2);
46342 {
46343 setState(6541);
46344 match(TAKE);
46345 setState(6542);
46346 match(OWNERSHIP);
46347 }
46348 break;
46349 case 3:
46350 enterOuterAlt(_localctx, 3);
46351 {
46352 setState(6543);
46353 match(SEND);
46354 }
46355 break;
46356 case 4:
46357 enterOuterAlt(_localctx, 4);
46358 {
46359 setState(6544);
46360 match(ALTER);
46361 }
46362 break;
46363 case 5:
46364 enterOuterAlt(_localctx, 5);
46365 {
46366 setState(6545);
46367 match(VIEW);
46368 setState(6546);
46369 match(DEFINITION);
46370 }
46371 break;
46372 case 6:
46373 enterOuterAlt(_localctx, 6);
46374 {
46375 setState(6547);
46376 match(ALTER);
46377 setState(6548);
46378 match(ANY);
46379 setState(6549);
46380 match(SERVICE);
46381 }
46382 break;
46383 }
46384 }
46385 catch (RecognitionException re) {
46386 _localctx.exception = re;
46387 _errHandler.reportError(this, re);
46388 _errHandler.recover(this, re);
46389 }
46390 finally {
46391 exitRule();
46392 }
46393 return _localctx;
46394 }
46395
46396 public static class EndpointPermissionContext extends ParserRuleContext {
46397 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46398 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
46399 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46400 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
46401 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46402 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46403 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46404 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46405 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46406 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
46407 public EndpointPermissionContext(ParserRuleContext parent, int invokingState) {
46408 super(parent, invokingState);
46409 }
46410 @Override public int getRuleIndex() { return RULE_endpointPermission; }
46411 @Override
46412 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46413 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEndpointPermission(this);
46414 else return visitor.visitChildren(this);
46415 }
46416 }
46417
46418 public final EndpointPermissionContext endpointPermission() throws RecognitionException {
46419 EndpointPermissionContext _localctx = new EndpointPermissionContext(_ctx, getState());
46420 enterRule(_localctx, 888, RULE_endpointPermission);
46421 int _la;
46422 try {
46423 setState(6568);
46424 _errHandler.sync(this);
46425 switch ( getInterpreter().adaptivePredict(_input,763,_ctx) ) {
46426 case 1:
46427 enterOuterAlt(_localctx, 1);
46428 {
46429 setState(6552);
46430 match(ALTER);
46431 }
46432 break;
46433 case 2:
46434 enterOuterAlt(_localctx, 2);
46435 {
46436 setState(6553);
46437 match(CONNECT);
46438 }
46439 break;
46440 case 3:
46441 enterOuterAlt(_localctx, 3);
46442 {
46443 setState(6554);
46444 match(CONTROL);
46445 setState(6556);
46446 _errHandler.sync(this);
46447 _la = _input.LA(1);
46448 if (_la==SERVER) {
46449 {
46450 setState(6555);
46451 match(SERVER);
46452 }
46453 }
46454
46455 }
46456 break;
46457 case 4:
46458 enterOuterAlt(_localctx, 4);
46459 {
46460 setState(6558);
46461 match(TAKE);
46462 setState(6559);
46463 match(OWNERSHIP);
46464 }
46465 break;
46466 case 5:
46467 enterOuterAlt(_localctx, 5);
46468 {
46469 setState(6560);
46470 match(VIEW);
46471 setState(6562);
46472 _errHandler.sync(this);
46473 _la = _input.LA(1);
46474 if (_la==ANY) {
46475 {
46476 setState(6561);
46477 match(ANY);
46478 }
46479 }
46480
46481 setState(6564);
46482 match(DEFINITION);
46483 }
46484 break;
46485 case 6:
46486 enterOuterAlt(_localctx, 6);
46487 {
46488 setState(6565);
46489 match(ALTER);
46490 setState(6566);
46491 match(ANY);
46492 setState(6567);
46493 match(ENDPOINT);
46494 }
46495 break;
46496 }
46497 }
46498 catch (RecognitionException re) {
46499 _localctx.exception = re;
46500 _errHandler.reportError(this, re);
46501 _errHandler.recover(this, re);
46502 }
46503 finally {
46504 exitRule();
46505 }
46506 return _localctx;
46507 }
46508
46509 public static class CertificatePermissionContext extends ParserRuleContext {
46510 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46511 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46512 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46513 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46514 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46515 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46516 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46517 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46518 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
46519 public CertificatePermissionContext(ParserRuleContext parent, int invokingState) {
46520 super(parent, invokingState);
46521 }
46522 @Override public int getRuleIndex() { return RULE_certificatePermission; }
46523 @Override
46524 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46525 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCertificatePermission(this);
46526 else return visitor.visitChildren(this);
46527 }
46528 }
46529
46530 public final CertificatePermissionContext certificatePermission() throws RecognitionException {
46531 CertificatePermissionContext _localctx = new CertificatePermissionContext(_ctx, getState());
46532 enterRule(_localctx, 890, RULE_certificatePermission);
46533 try {
46534 setState(6580);
46535 _errHandler.sync(this);
46536 switch ( getInterpreter().adaptivePredict(_input,764,_ctx) ) {
46537 case 1:
46538 enterOuterAlt(_localctx, 1);
46539 {
46540 setState(6570);
46541 match(CONTROL);
46542 }
46543 break;
46544 case 2:
46545 enterOuterAlt(_localctx, 2);
46546 {
46547 setState(6571);
46548 match(TAKE);
46549 setState(6572);
46550 match(OWNERSHIP);
46551 }
46552 break;
46553 case 3:
46554 enterOuterAlt(_localctx, 3);
46555 {
46556 setState(6573);
46557 match(ALTER);
46558 }
46559 break;
46560 case 4:
46561 enterOuterAlt(_localctx, 4);
46562 {
46563 setState(6574);
46564 match(REFERENCES);
46565 }
46566 break;
46567 case 5:
46568 enterOuterAlt(_localctx, 5);
46569 {
46570 setState(6575);
46571 match(VIEW);
46572 setState(6576);
46573 match(DEFINITION);
46574 }
46575 break;
46576 case 6:
46577 enterOuterAlt(_localctx, 6);
46578 {
46579 setState(6577);
46580 match(ALTER);
46581 setState(6578);
46582 match(ANY);
46583 setState(6579);
46584 match(CERTIFICATE);
46585 }
46586 break;
46587 }
46588 }
46589 catch (RecognitionException re) {
46590 _localctx.exception = re;
46591 _errHandler.reportError(this, re);
46592 _errHandler.recover(this, re);
46593 }
46594 finally {
46595 exitRule();
46596 }
46597 return _localctx;
46598 }
46599
46600 public static class SymmetricKeyPermissionContext extends ParserRuleContext {
46601 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46602 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46603 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46604 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46605 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46606 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46607 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46608 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46609 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
46610 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46611 public SymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
46612 super(parent, invokingState);
46613 }
46614 @Override public int getRuleIndex() { return RULE_symmetricKeyPermission; }
46615 @Override
46616 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46617 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSymmetricKeyPermission(this);
46618 else return visitor.visitChildren(this);
46619 }
46620 }
46621
46622 public final SymmetricKeyPermissionContext symmetricKeyPermission() throws RecognitionException {
46623 SymmetricKeyPermissionContext _localctx = new SymmetricKeyPermissionContext(_ctx, getState());
46624 enterRule(_localctx, 892, RULE_symmetricKeyPermission);
46625 try {
46626 setState(6593);
46627 _errHandler.sync(this);
46628 switch ( getInterpreter().adaptivePredict(_input,765,_ctx) ) {
46629 case 1:
46630 enterOuterAlt(_localctx, 1);
46631 {
46632 setState(6582);
46633 match(ALTER);
46634 }
46635 break;
46636 case 2:
46637 enterOuterAlt(_localctx, 2);
46638 {
46639 setState(6583);
46640 match(CONTROL);
46641 }
46642 break;
46643 case 3:
46644 enterOuterAlt(_localctx, 3);
46645 {
46646 setState(6584);
46647 match(REFERENCES);
46648 }
46649 break;
46650 case 4:
46651 enterOuterAlt(_localctx, 4);
46652 {
46653 setState(6585);
46654 match(TAKE);
46655 setState(6586);
46656 match(OWNERSHIP);
46657 }
46658 break;
46659 case 5:
46660 enterOuterAlt(_localctx, 5);
46661 {
46662 setState(6587);
46663 match(VIEW);
46664 setState(6588);
46665 match(DEFINITION);
46666 }
46667 break;
46668 case 6:
46669 enterOuterAlt(_localctx, 6);
46670 {
46671 setState(6589);
46672 match(ALTER);
46673 setState(6590);
46674 match(ANY);
46675 setState(6591);
46676 match(SYMMETRIC);
46677 setState(6592);
46678 match(KEY);
46679 }
46680 break;
46681 }
46682 }
46683 catch (RecognitionException re) {
46684 _localctx.exception = re;
46685 _errHandler.reportError(this, re);
46686 _errHandler.recover(this, re);
46687 }
46688 finally {
46689 exitRule();
46690 }
46691 return _localctx;
46692 }
46693
46694 public static class AsymmetricKeyPermissionContext extends ParserRuleContext {
46695 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46696 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46697 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46698 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46699 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46700 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46701 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46702 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46703 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
46704 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46705 public AsymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
46706 super(parent, invokingState);
46707 }
46708 @Override public int getRuleIndex() { return RULE_asymmetricKeyPermission; }
46709 @Override
46710 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46711 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAsymmetricKeyPermission(this);
46712 else return visitor.visitChildren(this);
46713 }
46714 }
46715
46716 public final AsymmetricKeyPermissionContext asymmetricKeyPermission() throws RecognitionException {
46717 AsymmetricKeyPermissionContext _localctx = new AsymmetricKeyPermissionContext(_ctx, getState());
46718 enterRule(_localctx, 894, RULE_asymmetricKeyPermission);
46719 try {
46720 setState(6606);
46721 _errHandler.sync(this);
46722 switch ( getInterpreter().adaptivePredict(_input,766,_ctx) ) {
46723 case 1:
46724 enterOuterAlt(_localctx, 1);
46725 {
46726 setState(6595);
46727 match(CONTROL);
46728 }
46729 break;
46730 case 2:
46731 enterOuterAlt(_localctx, 2);
46732 {
46733 setState(6596);
46734 match(TAKE);
46735 setState(6597);
46736 match(OWNERSHIP);
46737 }
46738 break;
46739 case 3:
46740 enterOuterAlt(_localctx, 3);
46741 {
46742 setState(6598);
46743 match(ALTER);
46744 }
46745 break;
46746 case 4:
46747 enterOuterAlt(_localctx, 4);
46748 {
46749 setState(6599);
46750 match(REFERENCES);
46751 }
46752 break;
46753 case 5:
46754 enterOuterAlt(_localctx, 5);
46755 {
46756 setState(6600);
46757 match(VIEW);
46758 setState(6601);
46759 match(DEFINITION);
46760 }
46761 break;
46762 case 6:
46763 enterOuterAlt(_localctx, 6);
46764 {
46765 setState(6602);
46766 match(ALTER);
46767 setState(6603);
46768 match(ANY);
46769 setState(6604);
46770 match(ASYMMETRIC);
46771 setState(6605);
46772 match(KEY);
46773 }
46774 break;
46775 }
46776 }
46777 catch (RecognitionException re) {
46778 _localctx.exception = re;
46779 _errHandler.reportError(this, re);
46780 _errHandler.recover(this, re);
46781 }
46782 finally {
46783 exitRule();
46784 }
46785 return _localctx;
46786 }
46787
46788 public static class AssemblyPermissionContext extends ParserRuleContext {
46789 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46790 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46791 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46792 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46793 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46794 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46795 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46796 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46797 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
46798 public AssemblyPermissionContext(ParserRuleContext parent, int invokingState) {
46799 super(parent, invokingState);
46800 }
46801 @Override public int getRuleIndex() { return RULE_assemblyPermission; }
46802 @Override
46803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46804 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssemblyPermission(this);
46805 else return visitor.visitChildren(this);
46806 }
46807 }
46808
46809 public final AssemblyPermissionContext assemblyPermission() throws RecognitionException {
46810 AssemblyPermissionContext _localctx = new AssemblyPermissionContext(_ctx, getState());
46811 enterRule(_localctx, 896, RULE_assemblyPermission);
46812 try {
46813 setState(6618);
46814 _errHandler.sync(this);
46815 switch ( getInterpreter().adaptivePredict(_input,767,_ctx) ) {
46816 case 1:
46817 enterOuterAlt(_localctx, 1);
46818 {
46819 setState(6608);
46820 match(CONTROL);
46821 }
46822 break;
46823 case 2:
46824 enterOuterAlt(_localctx, 2);
46825 {
46826 setState(6609);
46827 match(TAKE);
46828 setState(6610);
46829 match(OWNERSHIP);
46830 }
46831 break;
46832 case 3:
46833 enterOuterAlt(_localctx, 3);
46834 {
46835 setState(6611);
46836 match(ALTER);
46837 }
46838 break;
46839 case 4:
46840 enterOuterAlt(_localctx, 4);
46841 {
46842 setState(6612);
46843 match(REFERENCES);
46844 }
46845 break;
46846 case 5:
46847 enterOuterAlt(_localctx, 5);
46848 {
46849 setState(6613);
46850 match(VIEW);
46851 setState(6614);
46852 match(DEFINITION);
46853 }
46854 break;
46855 case 6:
46856 enterOuterAlt(_localctx, 6);
46857 {
46858 setState(6615);
46859 match(ALTER);
46860 setState(6616);
46861 match(ANY);
46862 setState(6617);
46863 match(ASSEMBLY);
46864 }
46865 break;
46866 }
46867 }
46868 catch (RecognitionException re) {
46869 _localctx.exception = re;
46870 _errHandler.reportError(this, re);
46871 _errHandler.recover(this, re);
46872 }
46873 finally {
46874 exitRule();
46875 }
46876 return _localctx;
46877 }
46878
46879 public static class AvailabilityGroupPermissionContext extends ParserRuleContext {
46880 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46881 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
46882 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46883 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
46884 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46885 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46886 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46887 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46888 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46889 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
46890 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
46891 public AvailabilityGroupPermissionContext(ParserRuleContext parent, int invokingState) {
46892 super(parent, invokingState);
46893 }
46894 @Override public int getRuleIndex() { return RULE_availabilityGroupPermission; }
46895 @Override
46896 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46897 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAvailabilityGroupPermission(this);
46898 else return visitor.visitChildren(this);
46899 }
46900 }
46901
46902 public final AvailabilityGroupPermissionContext availabilityGroupPermission() throws RecognitionException {
46903 AvailabilityGroupPermissionContext _localctx = new AvailabilityGroupPermissionContext(_ctx, getState());
46904 enterRule(_localctx, 898, RULE_availabilityGroupPermission);
46905 int _la;
46906 try {
46907 setState(6637);
46908 _errHandler.sync(this);
46909 switch ( getInterpreter().adaptivePredict(_input,770,_ctx) ) {
46910 case 1:
46911 enterOuterAlt(_localctx, 1);
46912 {
46913 setState(6620);
46914 match(ALTER);
46915 }
46916 break;
46917 case 2:
46918 enterOuterAlt(_localctx, 2);
46919 {
46920 setState(6621);
46921 match(CONNECT);
46922 }
46923 break;
46924 case 3:
46925 enterOuterAlt(_localctx, 3);
46926 {
46927 setState(6622);
46928 match(CONTROL);
46929 setState(6624);
46930 _errHandler.sync(this);
46931 _la = _input.LA(1);
46932 if (_la==SERVER) {
46933 {
46934 setState(6623);
46935 match(SERVER);
46936 }
46937 }
46938
46939 }
46940 break;
46941 case 4:
46942 enterOuterAlt(_localctx, 4);
46943 {
46944 setState(6626);
46945 match(TAKE);
46946 setState(6627);
46947 match(OWNERSHIP);
46948 }
46949 break;
46950 case 5:
46951 enterOuterAlt(_localctx, 5);
46952 {
46953 setState(6628);
46954 match(VIEW);
46955 setState(6630);
46956 _errHandler.sync(this);
46957 _la = _input.LA(1);
46958 if (_la==ANY) {
46959 {
46960 setState(6629);
46961 match(ANY);
46962 }
46963 }
46964
46965 setState(6632);
46966 match(DEFINITION);
46967 }
46968 break;
46969 case 6:
46970 enterOuterAlt(_localctx, 6);
46971 {
46972 setState(6633);
46973 match(ALTER);
46974 setState(6634);
46975 match(ANY);
46976 setState(6635);
46977 match(AVAILABILITY);
46978 setState(6636);
46979 match(GROUP);
46980 }
46981 break;
46982 }
46983 }
46984 catch (RecognitionException re) {
46985 _localctx.exception = re;
46986 _errHandler.reportError(this, re);
46987 _errHandler.recover(this, re);
46988 }
46989 finally {
46990 exitRule();
46991 }
46992 return _localctx;
46993 }
46994
46995 public static class FullTextPermissionContext extends ParserRuleContext {
46996 public FullTextCatalogPermissionContext fullTextCatalogPermission() {
46997 return getRuleContext(FullTextCatalogPermissionContext.class,0);
46998 }
46999 public FullTextStoplistPermissionContext fullTextStoplistPermission() {
47000 return getRuleContext(FullTextStoplistPermissionContext.class,0);
47001 }
47002 public FullTextPermissionContext(ParserRuleContext parent, int invokingState) {
47003 super(parent, invokingState);
47004 }
47005 @Override public int getRuleIndex() { return RULE_fullTextPermission; }
47006 @Override
47007 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47008 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextPermission(this);
47009 else return visitor.visitChildren(this);
47010 }
47011 }
47012
47013 public final FullTextPermissionContext fullTextPermission() throws RecognitionException {
47014 FullTextPermissionContext _localctx = new FullTextPermissionContext(_ctx, getState());
47015 enterRule(_localctx, 900, RULE_fullTextPermission);
47016 try {
47017 setState(6641);
47018 _errHandler.sync(this);
47019 switch ( getInterpreter().adaptivePredict(_input,771,_ctx) ) {
47020 case 1:
47021 enterOuterAlt(_localctx, 1);
47022 {
47023 setState(6639);
47024 fullTextCatalogPermission();
47025 }
47026 break;
47027 case 2:
47028 enterOuterAlt(_localctx, 2);
47029 {
47030 setState(6640);
47031 fullTextStoplistPermission();
47032 }
47033 break;
47034 }
47035 }
47036 catch (RecognitionException re) {
47037 _localctx.exception = re;
47038 _errHandler.reportError(this, re);
47039 _errHandler.recover(this, re);
47040 }
47041 finally {
47042 exitRule();
47043 }
47044 return _localctx;
47045 }
47046
47047 public static class FullTextCatalogPermissionContext extends ParserRuleContext {
47048 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47049 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47050 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47051 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
47052 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47053 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47054 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47055 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
47056 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
47057 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
47058 public FullTextCatalogPermissionContext(ParserRuleContext parent, int invokingState) {
47059 super(parent, invokingState);
47060 }
47061 @Override public int getRuleIndex() { return RULE_fullTextCatalogPermission; }
47062 @Override
47063 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47064 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextCatalogPermission(this);
47065 else return visitor.visitChildren(this);
47066 }
47067 }
47068
47069 public final FullTextCatalogPermissionContext fullTextCatalogPermission() throws RecognitionException {
47070 FullTextCatalogPermissionContext _localctx = new FullTextCatalogPermissionContext(_ctx, getState());
47071 enterRule(_localctx, 902, RULE_fullTextCatalogPermission);
47072 try {
47073 setState(6654);
47074 _errHandler.sync(this);
47075 switch ( getInterpreter().adaptivePredict(_input,772,_ctx) ) {
47076 case 1:
47077 enterOuterAlt(_localctx, 1);
47078 {
47079 setState(6643);
47080 match(CONTROL);
47081 }
47082 break;
47083 case 2:
47084 enterOuterAlt(_localctx, 2);
47085 {
47086 setState(6644);
47087 match(TAKE);
47088 setState(6645);
47089 match(OWNERSHIP);
47090 }
47091 break;
47092 case 3:
47093 enterOuterAlt(_localctx, 3);
47094 {
47095 setState(6646);
47096 match(ALTER);
47097 }
47098 break;
47099 case 4:
47100 enterOuterAlt(_localctx, 4);
47101 {
47102 setState(6647);
47103 match(REFERENCES);
47104 }
47105 break;
47106 case 5:
47107 enterOuterAlt(_localctx, 5);
47108 {
47109 setState(6648);
47110 match(VIEW);
47111 setState(6649);
47112 match(DEFINITION);
47113 }
47114 break;
47115 case 6:
47116 enterOuterAlt(_localctx, 6);
47117 {
47118 setState(6650);
47119 match(ALTER);
47120 setState(6651);
47121 match(ANY);
47122 setState(6652);
47123 match(FULLTEXT);
47124 setState(6653);
47125 match(CATALOG);
47126 }
47127 break;
47128 }
47129 }
47130 catch (RecognitionException re) {
47131 _localctx.exception = re;
47132 _errHandler.reportError(this, re);
47133 _errHandler.recover(this, re);
47134 }
47135 finally {
47136 exitRule();
47137 }
47138 return _localctx;
47139 }
47140
47141 public static class FullTextStoplistPermissionContext extends ParserRuleContext {
47142 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
47143 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47144 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47145 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47146 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47147 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47148 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47149 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
47150 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
47151 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
47152 public FullTextStoplistPermissionContext(ParserRuleContext parent, int invokingState) {
47153 super(parent, invokingState);
47154 }
47155 @Override public int getRuleIndex() { return RULE_fullTextStoplistPermission; }
47156 @Override
47157 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47158 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextStoplistPermission(this);
47159 else return visitor.visitChildren(this);
47160 }
47161 }
47162
47163 public final FullTextStoplistPermissionContext fullTextStoplistPermission() throws RecognitionException {
47164 FullTextStoplistPermissionContext _localctx = new FullTextStoplistPermissionContext(_ctx, getState());
47165 enterRule(_localctx, 904, RULE_fullTextStoplistPermission);
47166 try {
47167 setState(6667);
47168 _errHandler.sync(this);
47169 switch ( getInterpreter().adaptivePredict(_input,773,_ctx) ) {
47170 case 1:
47171 enterOuterAlt(_localctx, 1);
47172 {
47173 setState(6656);
47174 match(ALTER);
47175 }
47176 break;
47177 case 2:
47178 enterOuterAlt(_localctx, 2);
47179 {
47180 setState(6657);
47181 match(CONTROL);
47182 }
47183 break;
47184 case 3:
47185 enterOuterAlt(_localctx, 3);
47186 {
47187 setState(6658);
47188 match(REFERENCES);
47189 }
47190 break;
47191 case 4:
47192 enterOuterAlt(_localctx, 4);
47193 {
47194 setState(6659);
47195 match(TAKE);
47196 setState(6660);
47197 match(OWNERSHIP);
47198 }
47199 break;
47200 case 5:
47201 enterOuterAlt(_localctx, 5);
47202 {
47203 setState(6661);
47204 match(VIEW);
47205 setState(6662);
47206 match(DEFINITION);
47207 }
47208 break;
47209 case 6:
47210 enterOuterAlt(_localctx, 6);
47211 {
47212 setState(6663);
47213 match(ALTER);
47214 setState(6664);
47215 match(ANY);
47216 setState(6665);
47217 match(FULLTEXT);
47218 setState(6666);
47219 match(CATALOG);
47220 }
47221 break;
47222 }
47223 }
47224 catch (RecognitionException re) {
47225 _localctx.exception = re;
47226 _errHandler.reportError(this, re);
47227 _errHandler.recover(this, re);
47228 }
47229 finally {
47230 exitRule();
47231 }
47232 return _localctx;
47233 }
47234
47235 public static class TypePermissionContext extends ParserRuleContext {
47236 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47237 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47238 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47239 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47240 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47241 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47242 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47243 public TypePermissionContext(ParserRuleContext parent, int invokingState) {
47244 super(parent, invokingState);
47245 }
47246 @Override public int getRuleIndex() { return RULE_typePermission; }
47247 @Override
47248 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47249 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTypePermission(this);
47250 else return visitor.visitChildren(this);
47251 }
47252 }
47253
47254 public final TypePermissionContext typePermission() throws RecognitionException {
47255 TypePermissionContext _localctx = new TypePermissionContext(_ctx, getState());
47256 enterRule(_localctx, 906, RULE_typePermission);
47257 try {
47258 setState(6676);
47259 _errHandler.sync(this);
47260 switch (_input.LA(1)) {
47261 case CONTROL:
47262 enterOuterAlt(_localctx, 1);
47263 {
47264 setState(6669);
47265 match(CONTROL);
47266 }
47267 break;
47268 case EXECUTE:
47269 enterOuterAlt(_localctx, 2);
47270 {
47271 setState(6670);
47272 match(EXECUTE);
47273 }
47274 break;
47275 case REFERENCES:
47276 enterOuterAlt(_localctx, 3);
47277 {
47278 setState(6671);
47279 match(REFERENCES);
47280 }
47281 break;
47282 case TAKE:
47283 enterOuterAlt(_localctx, 4);
47284 {
47285 setState(6672);
47286 match(TAKE);
47287 setState(6673);
47288 match(OWNERSHIP);
47289 }
47290 break;
47291 case VIEW:
47292 enterOuterAlt(_localctx, 5);
47293 {
47294 setState(6674);
47295 match(VIEW);
47296 setState(6675);
47297 match(DEFINITION);
47298 }
47299 break;
47300 default:
47301 throw new NoViableAltException(this);
47302 }
47303 }
47304 catch (RecognitionException re) {
47305 _localctx.exception = re;
47306 _errHandler.reportError(this, re);
47307 _errHandler.recover(this, re);
47308 }
47309 finally {
47310 exitRule();
47311 }
47312 return _localctx;
47313 }
47314
47315 public static class XmlSchemaCollectionPermissionContext extends ParserRuleContext {
47316 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
47317 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47318 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47319 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47320 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47321 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47322 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47323 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47324 public XmlSchemaCollectionPermissionContext(ParserRuleContext parent, int invokingState) {
47325 super(parent, invokingState);
47326 }
47327 @Override public int getRuleIndex() { return RULE_xmlSchemaCollectionPermission; }
47328 @Override
47329 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47330 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlSchemaCollectionPermission(this);
47331 else return visitor.visitChildren(this);
47332 }
47333 }
47334
47335 public final XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() throws RecognitionException {
47336 XmlSchemaCollectionPermissionContext _localctx = new XmlSchemaCollectionPermissionContext(_ctx, getState());
47337 enterRule(_localctx, 908, RULE_xmlSchemaCollectionPermission);
47338 try {
47339 setState(6686);
47340 _errHandler.sync(this);
47341 switch (_input.LA(1)) {
47342 case ALTER:
47343 enterOuterAlt(_localctx, 1);
47344 {
47345 setState(6678);
47346 match(ALTER);
47347 }
47348 break;
47349 case CONTROL:
47350 enterOuterAlt(_localctx, 2);
47351 {
47352 setState(6679);
47353 match(CONTROL);
47354 }
47355 break;
47356 case EXECUTE:
47357 enterOuterAlt(_localctx, 3);
47358 {
47359 setState(6680);
47360 match(EXECUTE);
47361 }
47362 break;
47363 case REFERENCES:
47364 enterOuterAlt(_localctx, 4);
47365 {
47366 setState(6681);
47367 match(REFERENCES);
47368 }
47369 break;
47370 case TAKE:
47371 enterOuterAlt(_localctx, 5);
47372 {
47373 setState(6682);
47374 match(TAKE);
47375 setState(6683);
47376 match(OWNERSHIP);
47377 }
47378 break;
47379 case VIEW:
47380 enterOuterAlt(_localctx, 6);
47381 {
47382 setState(6684);
47383 match(VIEW);
47384 setState(6685);
47385 match(DEFINITION);
47386 }
47387 break;
47388 default:
47389 throw new NoViableAltException(this);
47390 }
47391 }
47392 catch (RecognitionException re) {
47393 _localctx.exception = re;
47394 _errHandler.reportError(this, re);
47395 _errHandler.recover(this, re);
47396 }
47397 finally {
47398 exitRule();
47399 }
47400 return _localctx;
47401 }
47402
47403 public static class SystemObjectPermissionContext extends ParserRuleContext {
47404 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
47405 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47406 public SystemObjectPermissionContext(ParserRuleContext parent, int invokingState) {
47407 super(parent, invokingState);
47408 }
47409 @Override public int getRuleIndex() { return RULE_systemObjectPermission; }
47410 @Override
47411 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47412 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSystemObjectPermission(this);
47413 else return visitor.visitChildren(this);
47414 }
47415 }
47416
47417 public final SystemObjectPermissionContext systemObjectPermission() throws RecognitionException {
47418 SystemObjectPermissionContext _localctx = new SystemObjectPermissionContext(_ctx, getState());
47419 enterRule(_localctx, 910, RULE_systemObjectPermission);
47420 int _la;
47421 try {
47422 enterOuterAlt(_localctx, 1);
47423 {
47424 setState(6688);
47425 _la = _input.LA(1);
47426 if ( !(_la==SELECT || _la==EXECUTE) ) {
47427 _errHandler.recoverInline(this);
47428 }
47429 else {
47430 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47431 _errHandler.reportMatch(this);
47432 consume();
47433 }
47434 }
47435 }
47436 catch (RecognitionException re) {
47437 _localctx.exception = re;
47438 _errHandler.reportError(this, re);
47439 _errHandler.recover(this, re);
47440 }
47441 finally {
47442 exitRule();
47443 }
47444 return _localctx;
47445 }
47446
47447 public static class Class_Context extends ParserRuleContext {
47448 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
47449 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
47450 public TerminalNode COLON_(int i) {
47451 return getToken(SQLServerStatementParser.COLON_, i);
47452 }
47453 public Class_Context(ParserRuleContext parent, int invokingState) {
47454 super(parent, invokingState);
47455 }
47456 @Override public int getRuleIndex() { return RULE_class_; }
47457 @Override
47458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47459 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClass_(this);
47460 else return visitor.visitChildren(this);
47461 }
47462 }
47463
47464 public final Class_Context class_() throws RecognitionException {
47465 Class_Context _localctx = new Class_Context(_ctx, getState());
47466 enterRule(_localctx, 912, RULE_class_);
47467 try {
47468 enterOuterAlt(_localctx, 1);
47469 {
47470 setState(6690);
47471 match(IDENTIFIER_);
47472 setState(6691);
47473 match(COLON_);
47474 setState(6692);
47475 match(COLON_);
47476 }
47477 }
47478 catch (RecognitionException re) {
47479 _localctx.exception = re;
47480 _errHandler.reportError(this, re);
47481 _errHandler.recover(this, re);
47482 }
47483 finally {
47484 exitRule();
47485 }
47486 return _localctx;
47487 }
47488
47489 public static class ClassItemContext extends ParserRuleContext {
47490 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
47491 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
47492 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
47493 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
47494 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
47495 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
47496 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47497 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
47498 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
47499 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
47500 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
47501 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
47502 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
47503 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
47504 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
47505 public TerminalNode STOPLIST() { return getToken(SQLServerStatementParser.STOPLIST, 0); }
47506 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
47507 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
47508 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
47509 public TerminalNode PROPERTY() { return getToken(SQLServerStatementParser.PROPERTY, 0); }
47510 public TerminalNode LIST() { return getToken(SQLServerStatementParser.LIST, 0); }
47511 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47512 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
47513 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
47514 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
47515 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
47516 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
47517 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
47518 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
47519 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
47520 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
47521 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
47522 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47523 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
47524 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
47525 public ClassItemContext(ParserRuleContext parent, int invokingState) {
47526 super(parent, invokingState);
47527 }
47528 @Override public int getRuleIndex() { return RULE_classItem; }
47529 @Override
47530 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47531 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassItem(this);
47532 else return visitor.visitChildren(this);
47533 }
47534 }
47535
47536 public final ClassItemContext classItem() throws RecognitionException {
47537 ClassItemContext _localctx = new ClassItemContext(_ctx, getState());
47538 enterRule(_localctx, 914, RULE_classItem);
47539 int _la;
47540 try {
47541 setState(6734);
47542 _errHandler.sync(this);
47543 switch (_input.LA(1)) {
47544 case ASSEMBLY:
47545 enterOuterAlt(_localctx, 1);
47546 {
47547 setState(6694);
47548 match(ASSEMBLY);
47549 }
47550 break;
47551 case ASYMMETRIC:
47552 enterOuterAlt(_localctx, 2);
47553 {
47554 setState(6695);
47555 match(ASYMMETRIC);
47556 setState(6696);
47557 match(KEY);
47558 }
47559 break;
47560 case AVAILABILITY:
47561 enterOuterAlt(_localctx, 3);
47562 {
47563 setState(6697);
47564 match(AVAILABILITY);
47565 setState(6698);
47566 match(GROUP);
47567 }
47568 break;
47569 case CERTIFICATE:
47570 enterOuterAlt(_localctx, 4);
47571 {
47572 setState(6699);
47573 match(CERTIFICATE);
47574 }
47575 break;
47576 case USER:
47577 enterOuterAlt(_localctx, 5);
47578 {
47579 setState(6700);
47580 match(USER);
47581 }
47582 break;
47583 case ROLE:
47584 enterOuterAlt(_localctx, 6);
47585 {
47586 setState(6701);
47587 match(ROLE);
47588 }
47589 break;
47590 case APPLICATION:
47591 enterOuterAlt(_localctx, 7);
47592 {
47593 setState(6702);
47594 match(APPLICATION);
47595 setState(6703);
47596 match(ROLE);
47597 }
47598 break;
47599 case DATABASE:
47600 enterOuterAlt(_localctx, 8);
47601 {
47602 setState(6704);
47603 match(DATABASE);
47604 setState(6705);
47605 match(SCOPED);
47606 setState(6706);
47607 match(CREDENTIAL);
47608 }
47609 break;
47610 case ENDPOINT:
47611 enterOuterAlt(_localctx, 9);
47612 {
47613 setState(6707);
47614 match(ENDPOINT);
47615 }
47616 break;
47617 case FULLTEXT:
47618 enterOuterAlt(_localctx, 10);
47619 {
47620 setState(6708);
47621 match(FULLTEXT);
47622 setState(6709);
47623 _la = _input.LA(1);
47624 if ( !(_la==CATALOG || _la==STOPLIST) ) {
47625 _errHandler.recoverInline(this);
47626 }
47627 else {
47628 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47629 _errHandler.reportMatch(this);
47630 consume();
47631 }
47632 }
47633 break;
47634 case OBJECT:
47635 enterOuterAlt(_localctx, 11);
47636 {
47637 setState(6710);
47638 match(OBJECT);
47639 }
47640 break;
47641 case SCHEMA:
47642 enterOuterAlt(_localctx, 12);
47643 {
47644 setState(6711);
47645 match(SCHEMA);
47646 }
47647 break;
47648 case SEARCH:
47649 enterOuterAlt(_localctx, 13);
47650 {
47651 setState(6712);
47652 match(SEARCH);
47653 setState(6713);
47654 match(PROPERTY);
47655 setState(6714);
47656 match(LIST);
47657 }
47658 break;
47659 case LOGIN:
47660 enterOuterAlt(_localctx, 14);
47661 {
47662 setState(6715);
47663 match(LOGIN);
47664 }
47665 break;
47666 case SERVER:
47667 enterOuterAlt(_localctx, 15);
47668 {
47669 setState(6716);
47670 match(SERVER);
47671 setState(6717);
47672 match(ROLE);
47673 }
47674 break;
47675 case CONTRACT:
47676 enterOuterAlt(_localctx, 16);
47677 {
47678 setState(6718);
47679 match(CONTRACT);
47680 }
47681 break;
47682 case MESSAGE:
47683 enterOuterAlt(_localctx, 17);
47684 {
47685 setState(6719);
47686 match(MESSAGE);
47687 setState(6720);
47688 match(TYPE);
47689 }
47690 break;
47691 case REMOTE:
47692 enterOuterAlt(_localctx, 18);
47693 {
47694 setState(6721);
47695 match(REMOTE);
47696 setState(6722);
47697 match(SERVICE);
47698 setState(6723);
47699 match(BINDING);
47700 }
47701 break;
47702 case ROUTE:
47703 enterOuterAlt(_localctx, 19);
47704 {
47705 setState(6724);
47706 match(ROUTE);
47707 }
47708 break;
47709 case SERVICE:
47710 enterOuterAlt(_localctx, 20);
47711 {
47712 setState(6725);
47713 match(SERVICE);
47714 }
47715 break;
47716 case SYMMETRIC:
47717 enterOuterAlt(_localctx, 21);
47718 {
47719 setState(6726);
47720 match(SYMMETRIC);
47721 setState(6727);
47722 match(KEY);
47723 }
47724 break;
47725 case SELECT:
47726 enterOuterAlt(_localctx, 22);
47727 {
47728 setState(6728);
47729 match(SELECT);
47730 }
47731 break;
47732 case EXECUTE:
47733 enterOuterAlt(_localctx, 23);
47734 {
47735 setState(6729);
47736 match(EXECUTE);
47737 }
47738 break;
47739 case TYPE:
47740 enterOuterAlt(_localctx, 24);
47741 {
47742 setState(6730);
47743 match(TYPE);
47744 }
47745 break;
47746 case XML:
47747 enterOuterAlt(_localctx, 25);
47748 {
47749 setState(6731);
47750 match(XML);
47751 setState(6732);
47752 match(SCHEMA);
47753 setState(6733);
47754 match(COLLECTION);
47755 }
47756 break;
47757 default:
47758 throw new NoViableAltException(this);
47759 }
47760 }
47761 catch (RecognitionException re) {
47762 _localctx.exception = re;
47763 _errHandler.reportError(this, re);
47764 _errHandler.recover(this, re);
47765 }
47766 finally {
47767 exitRule();
47768 }
47769 return _localctx;
47770 }
47771
47772 public static class ClassTypeContext extends ParserRuleContext {
47773 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47774 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
47775 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
47776 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
47777 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
47778 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47779 public ClassTypeContext(ParserRuleContext parent, int invokingState) {
47780 super(parent, invokingState);
47781 }
47782 @Override public int getRuleIndex() { return RULE_classType; }
47783 @Override
47784 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47785 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassType(this);
47786 else return visitor.visitChildren(this);
47787 }
47788 }
47789
47790 public final ClassTypeContext classType() throws RecognitionException {
47791 ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState());
47792 enterRule(_localctx, 916, RULE_classType);
47793 int _la;
47794 try {
47795 enterOuterAlt(_localctx, 1);
47796 {
47797 setState(6736);
47798 _la = _input.LA(1);
47799 if ( !(_la==SCHEMA || ((((_la - 204)) & ~0x3f) == 0 && ((1L << (_la - 204)) & ((1L << (DATABASE - 204)) | (1L << (USER - 204)) | (1L << (ROLE - 204)))) != 0) || _la==LOGIN || _la==OBJECT) ) {
47800 _errHandler.recoverInline(this);
47801 }
47802 else {
47803 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47804 _errHandler.reportMatch(this);
47805 consume();
47806 }
47807 }
47808 }
47809 catch (RecognitionException re) {
47810 _localctx.exception = re;
47811 _errHandler.reportError(this, re);
47812 _errHandler.recover(this, re);
47813 }
47814 finally {
47815 exitRule();
47816 }
47817 return _localctx;
47818 }
47819
47820 public static class RoleClauseContext extends ParserRuleContext {
47821 public IgnoredIdentifiersContext ignoredIdentifiers() {
47822 return getRuleContext(IgnoredIdentifiersContext.class,0);
47823 }
47824 public RoleClauseContext(ParserRuleContext parent, int invokingState) {
47825 super(parent, invokingState);
47826 }
47827 @Override public int getRuleIndex() { return RULE_roleClause; }
47828 @Override
47829 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47830 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRoleClause(this);
47831 else return visitor.visitChildren(this);
47832 }
47833 }
47834
47835 public final RoleClauseContext roleClause() throws RecognitionException {
47836 RoleClauseContext _localctx = new RoleClauseContext(_ctx, getState());
47837 enterRule(_localctx, 918, RULE_roleClause);
47838 try {
47839 enterOuterAlt(_localctx, 1);
47840 {
47841 setState(6738);
47842 ignoredIdentifiers();
47843 }
47844 }
47845 catch (RecognitionException re) {
47846 _localctx.exception = re;
47847 _errHandler.reportError(this, re);
47848 _errHandler.recover(this, re);
47849 }
47850 finally {
47851 exitRule();
47852 }
47853 return _localctx;
47854 }
47855
47856 public static class SetUserContext extends ParserRuleContext {
47857 public TerminalNode SETUSER() { return getToken(SQLServerStatementParser.SETUSER, 0); }
47858 public StringLiteralsContext stringLiterals() {
47859 return getRuleContext(StringLiteralsContext.class,0);
47860 }
47861 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47862 public TerminalNode NORESET() { return getToken(SQLServerStatementParser.NORESET, 0); }
47863 public SetUserContext(ParserRuleContext parent, int invokingState) {
47864 super(parent, invokingState);
47865 }
47866 @Override public int getRuleIndex() { return RULE_setUser; }
47867 @Override
47868 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47869 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetUser(this);
47870 else return visitor.visitChildren(this);
47871 }
47872 }
47873
47874 public final SetUserContext setUser() throws RecognitionException {
47875 SetUserContext _localctx = new SetUserContext(_ctx, getState());
47876 enterRule(_localctx, 920, RULE_setUser);
47877 int _la;
47878 try {
47879 enterOuterAlt(_localctx, 1);
47880 {
47881 setState(6740);
47882 match(SETUSER);
47883 setState(6746);
47884 _errHandler.sync(this);
47885 _la = _input.LA(1);
47886 if (_la==STRING_ || _la==NCHAR_TEXT) {
47887 {
47888 setState(6741);
47889 stringLiterals();
47890 setState(6744);
47891 _errHandler.sync(this);
47892 _la = _input.LA(1);
47893 if (_la==WITH) {
47894 {
47895 setState(6742);
47896 match(WITH);
47897 setState(6743);
47898 match(NORESET);
47899 }
47900 }
47901
47902 }
47903 }
47904
47905 }
47906 }
47907 catch (RecognitionException re) {
47908 _localctx.exception = re;
47909 _errHandler.reportError(this, re);
47910 _errHandler.recover(this, re);
47911 }
47912 finally {
47913 exitRule();
47914 }
47915 return _localctx;
47916 }
47917
47918 public static class CreateUserContext extends ParserRuleContext {
47919 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
47920 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47921 public CreateUserLoginClauseContext createUserLoginClause() {
47922 return getRuleContext(CreateUserLoginClauseContext.class,0);
47923 }
47924 public CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() {
47925 return getRuleContext(CreateUserWindowsPrincipalClauseContext.class,0);
47926 }
47927 public CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() {
47928 return getRuleContext(CreateUserLoginWindowsPrincipalClauseContext.class,0);
47929 }
47930 public CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() {
47931 return getRuleContext(CreateUserWithoutLoginClauseContext.class,0);
47932 }
47933 public CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() {
47934 return getRuleContext(CreateUserFromExternalProviderClauseContext.class,0);
47935 }
47936 public CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() {
47937 return getRuleContext(CreateUserWithDefaultSchemaContext.class,0);
47938 }
47939 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() {
47940 return getRuleContext(CreateUserWithAzureActiveDirectoryPrincipalClauseContext.class,0);
47941 }
47942 public UserNameContext userName() {
47943 return getRuleContext(UserNameContext.class,0);
47944 }
47945 public CreateUserContext(ParserRuleContext parent, int invokingState) {
47946 super(parent, invokingState);
47947 }
47948 @Override public int getRuleIndex() { return RULE_createUser; }
47949 @Override
47950 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47951 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUser(this);
47952 else return visitor.visitChildren(this);
47953 }
47954 }
47955
47956 public final CreateUserContext createUser() throws RecognitionException {
47957 CreateUserContext _localctx = new CreateUserContext(_ctx, getState());
47958 enterRule(_localctx, 922, RULE_createUser);
47959 try {
47960 enterOuterAlt(_localctx, 1);
47961 {
47962 setState(6748);
47963 match(CREATE);
47964 setState(6749);
47965 match(USER);
47966 setState(6758);
47967 _errHandler.sync(this);
47968 switch ( getInterpreter().adaptivePredict(_input,779,_ctx) ) {
47969 case 1:
47970 {
47971 setState(6750);
47972 createUserLoginClause();
47973 }
47974 break;
47975 case 2:
47976 {
47977 setState(6751);
47978 createUserWindowsPrincipalClause();
47979 }
47980 break;
47981 case 3:
47982 {
47983 setState(6752);
47984 createUserLoginWindowsPrincipalClause();
47985 }
47986 break;
47987 case 4:
47988 {
47989 setState(6753);
47990 createUserWithoutLoginClause();
47991 }
47992 break;
47993 case 5:
47994 {
47995 setState(6754);
47996 createUserFromExternalProviderClause();
47997 }
47998 break;
47999 case 6:
48000 {
48001 setState(6755);
48002 createUserWithDefaultSchema();
48003 }
48004 break;
48005 case 7:
48006 {
48007 setState(6756);
48008 createUserWithAzureActiveDirectoryPrincipalClause();
48009 }
48010 break;
48011 case 8:
48012 {
48013 setState(6757);
48014 userName();
48015 }
48016 break;
48017 }
48018 }
48019 }
48020 catch (RecognitionException re) {
48021 _localctx.exception = re;
48022 _errHandler.reportError(this, re);
48023 _errHandler.recover(this, re);
48024 }
48025 finally {
48026 exitRule();
48027 }
48028 return _localctx;
48029 }
48030
48031 public static class CreateUserLoginClauseContext extends ParserRuleContext {
48032 public UserNameContext userName() {
48033 return getRuleContext(UserNameContext.class,0);
48034 }
48035 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48036 public IdentifierContext identifier() {
48037 return getRuleContext(IdentifierContext.class,0);
48038 }
48039 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48040 public List<LimitedOptionsListContext> limitedOptionsList() {
48041 return getRuleContexts(LimitedOptionsListContext.class);
48042 }
48043 public LimitedOptionsListContext limitedOptionsList(int i) {
48044 return getRuleContext(LimitedOptionsListContext.class,i);
48045 }
48046 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48047 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48048 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48049 public TerminalNode COMMA_(int i) {
48050 return getToken(SQLServerStatementParser.COMMA_, i);
48051 }
48052 public CreateUserLoginClauseContext(ParserRuleContext parent, int invokingState) {
48053 super(parent, invokingState);
48054 }
48055 @Override public int getRuleIndex() { return RULE_createUserLoginClause; }
48056 @Override
48057 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48058 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginClause(this);
48059 else return visitor.visitChildren(this);
48060 }
48061 }
48062
48063 public final CreateUserLoginClauseContext createUserLoginClause() throws RecognitionException {
48064 CreateUserLoginClauseContext _localctx = new CreateUserLoginClauseContext(_ctx, getState());
48065 enterRule(_localctx, 924, RULE_createUserLoginClause);
48066 int _la;
48067 try {
48068 enterOuterAlt(_localctx, 1);
48069 {
48070 setState(6760);
48071 userName();
48072 setState(6764);
48073 _errHandler.sync(this);
48074 _la = _input.LA(1);
48075 if (_la==FROM || _la==FOR) {
48076 {
48077 setState(6761);
48078 _la = _input.LA(1);
48079 if ( !(_la==FROM || _la==FOR) ) {
48080 _errHandler.recoverInline(this);
48081 }
48082 else {
48083 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48084 _errHandler.reportMatch(this);
48085 consume();
48086 }
48087 setState(6762);
48088 match(LOGIN);
48089 setState(6763);
48090 identifier();
48091 }
48092 }
48093
48094 setState(6775);
48095 _errHandler.sync(this);
48096 _la = _input.LA(1);
48097 if (_la==WITH) {
48098 {
48099 setState(6766);
48100 match(WITH);
48101 setState(6767);
48102 limitedOptionsList();
48103 setState(6772);
48104 _errHandler.sync(this);
48105 _la = _input.LA(1);
48106 while (_la==COMMA_) {
48107 {
48108 {
48109 setState(6768);
48110 match(COMMA_);
48111 setState(6769);
48112 limitedOptionsList();
48113 }
48114 }
48115 setState(6774);
48116 _errHandler.sync(this);
48117 _la = _input.LA(1);
48118 }
48119 }
48120 }
48121
48122 }
48123 }
48124 catch (RecognitionException re) {
48125 _localctx.exception = re;
48126 _errHandler.reportError(this, re);
48127 _errHandler.recover(this, re);
48128 }
48129 finally {
48130 exitRule();
48131 }
48132 return _localctx;
48133 }
48134
48135 public static class CreateUserWindowsPrincipalClauseContext extends ParserRuleContext {
48136 public WindowsPrincipalContext windowsPrincipal() {
48137 return getRuleContext(WindowsPrincipalContext.class,0);
48138 }
48139 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48140 public List<OptionsListContext> optionsList() {
48141 return getRuleContexts(OptionsListContext.class);
48142 }
48143 public OptionsListContext optionsList(int i) {
48144 return getRuleContext(OptionsListContext.class,i);
48145 }
48146 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48147 public TerminalNode COMMA_(int i) {
48148 return getToken(SQLServerStatementParser.COMMA_, i);
48149 }
48150 public UserNameContext userName() {
48151 return getRuleContext(UserNameContext.class,0);
48152 }
48153 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
48154 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48155 public StringLiteralsContext stringLiterals() {
48156 return getRuleContext(StringLiteralsContext.class,0);
48157 }
48158 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
48159 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
48160 }
48161 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48162 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48163 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48164 public CreateUserWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
48165 super(parent, invokingState);
48166 }
48167 @Override public int getRuleIndex() { return RULE_createUserWindowsPrincipalClause; }
48168 @Override
48169 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48170 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWindowsPrincipalClause(this);
48171 else return visitor.visitChildren(this);
48172 }
48173 }
48174
48175 public final CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() throws RecognitionException {
48176 CreateUserWindowsPrincipalClauseContext _localctx = new CreateUserWindowsPrincipalClauseContext(_ctx, getState());
48177 enterRule(_localctx, 926, RULE_createUserWindowsPrincipalClause);
48178 int _la;
48179 try {
48180 setState(6810);
48181 _errHandler.sync(this);
48182 switch ( getInterpreter().adaptivePredict(_input,787,_ctx) ) {
48183 case 1:
48184 enterOuterAlt(_localctx, 1);
48185 {
48186 setState(6777);
48187 windowsPrincipal();
48188 setState(6787);
48189 _errHandler.sync(this);
48190 _la = _input.LA(1);
48191 if (_la==WITH) {
48192 {
48193 setState(6778);
48194 match(WITH);
48195 setState(6779);
48196 optionsList();
48197 setState(6784);
48198 _errHandler.sync(this);
48199 _la = _input.LA(1);
48200 while (_la==COMMA_) {
48201 {
48202 {
48203 setState(6780);
48204 match(COMMA_);
48205 setState(6781);
48206 optionsList();
48207 }
48208 }
48209 setState(6786);
48210 _errHandler.sync(this);
48211 _la = _input.LA(1);
48212 }
48213 }
48214 }
48215
48216 }
48217 break;
48218 case 2:
48219 enterOuterAlt(_localctx, 2);
48220 {
48221 setState(6789);
48222 userName();
48223 setState(6790);
48224 match(WITH);
48225 setState(6791);
48226 match(PASSWORD);
48227 setState(6792);
48228 match(EQ_);
48229 setState(6793);
48230 stringLiterals();
48231 setState(6803);
48232 _errHandler.sync(this);
48233 _la = _input.LA(1);
48234 if (_la==COMMA_) {
48235 {
48236 setState(6794);
48237 match(COMMA_);
48238 setState(6795);
48239 optionsList();
48240 setState(6800);
48241 _errHandler.sync(this);
48242 _la = _input.LA(1);
48243 while (_la==COMMA_) {
48244 {
48245 {
48246 setState(6796);
48247 match(COMMA_);
48248 setState(6797);
48249 optionsList();
48250 }
48251 }
48252 setState(6802);
48253 _errHandler.sync(this);
48254 _la = _input.LA(1);
48255 }
48256 }
48257 }
48258
48259 }
48260 break;
48261 case 3:
48262 enterOuterAlt(_localctx, 3);
48263 {
48264 setState(6805);
48265 azureActiveDirectoryPrincipal();
48266 setState(6806);
48267 match(FROM);
48268 setState(6807);
48269 match(EXTERNAL);
48270 setState(6808);
48271 match(PROVIDER);
48272 }
48273 break;
48274 }
48275 }
48276 catch (RecognitionException re) {
48277 _localctx.exception = re;
48278 _errHandler.reportError(this, re);
48279 _errHandler.recover(this, re);
48280 }
48281 finally {
48282 exitRule();
48283 }
48284 return _localctx;
48285 }
48286
48287 public static class CreateUserLoginWindowsPrincipalClauseContext extends ParserRuleContext {
48288 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48289 public List<LimitedOptionsListContext> limitedOptionsList() {
48290 return getRuleContexts(LimitedOptionsListContext.class);
48291 }
48292 public LimitedOptionsListContext limitedOptionsList(int i) {
48293 return getRuleContext(LimitedOptionsListContext.class,i);
48294 }
48295 public List<WindowsPrincipalContext> windowsPrincipal() {
48296 return getRuleContexts(WindowsPrincipalContext.class);
48297 }
48298 public WindowsPrincipalContext windowsPrincipal(int i) {
48299 return getRuleContext(WindowsPrincipalContext.class,i);
48300 }
48301 public UserNameContext userName() {
48302 return getRuleContext(UserNameContext.class,0);
48303 }
48304 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48305 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48306 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48307 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48308 public TerminalNode COMMA_(int i) {
48309 return getToken(SQLServerStatementParser.COMMA_, i);
48310 }
48311 public CreateUserLoginWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
48312 super(parent, invokingState);
48313 }
48314 @Override public int getRuleIndex() { return RULE_createUserLoginWindowsPrincipalClause; }
48315 @Override
48316 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48317 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginWindowsPrincipalClause(this);
48318 else return visitor.visitChildren(this);
48319 }
48320 }
48321
48322 public final CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() throws RecognitionException {
48323 CreateUserLoginWindowsPrincipalClauseContext _localctx = new CreateUserLoginWindowsPrincipalClauseContext(_ctx, getState());
48324 enterRule(_localctx, 928, RULE_createUserLoginWindowsPrincipalClause);
48325 int _la;
48326 try {
48327 enterOuterAlt(_localctx, 1);
48328 {
48329 setState(6823);
48330 _errHandler.sync(this);
48331 switch ( getInterpreter().adaptivePredict(_input,789,_ctx) ) {
48332 case 1:
48333 {
48334 {
48335 setState(6812);
48336 windowsPrincipal();
48337 setState(6816);
48338 _errHandler.sync(this);
48339 _la = _input.LA(1);
48340 if (_la==FROM || _la==FOR) {
48341 {
48342 setState(6813);
48343 _la = _input.LA(1);
48344 if ( !(_la==FROM || _la==FOR) ) {
48345 _errHandler.recoverInline(this);
48346 }
48347 else {
48348 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48349 _errHandler.reportMatch(this);
48350 consume();
48351 }
48352 setState(6814);
48353 match(LOGIN);
48354 setState(6815);
48355 windowsPrincipal();
48356 }
48357 }
48358
48359 }
48360 }
48361 break;
48362 case 2:
48363 {
48364 {
48365 setState(6818);
48366 userName();
48367 setState(6819);
48368 _la = _input.LA(1);
48369 if ( !(_la==FROM || _la==FOR) ) {
48370 _errHandler.recoverInline(this);
48371 }
48372 else {
48373 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48374 _errHandler.reportMatch(this);
48375 consume();
48376 }
48377 setState(6820);
48378 match(LOGIN);
48379 setState(6821);
48380 windowsPrincipal();
48381 }
48382 }
48383 break;
48384 }
48385 setState(6834);
48386 _errHandler.sync(this);
48387 _la = _input.LA(1);
48388 if (_la==WITH) {
48389 {
48390 setState(6825);
48391 match(WITH);
48392 setState(6826);
48393 limitedOptionsList();
48394 setState(6831);
48395 _errHandler.sync(this);
48396 _la = _input.LA(1);
48397 while (_la==COMMA_) {
48398 {
48399 {
48400 setState(6827);
48401 match(COMMA_);
48402 setState(6828);
48403 limitedOptionsList();
48404 }
48405 }
48406 setState(6833);
48407 _errHandler.sync(this);
48408 _la = _input.LA(1);
48409 }
48410 }
48411 }
48412
48413 }
48414 }
48415 catch (RecognitionException re) {
48416 _localctx.exception = re;
48417 _errHandler.reportError(this, re);
48418 _errHandler.recover(this, re);
48419 }
48420 finally {
48421 exitRule();
48422 }
48423 return _localctx;
48424 }
48425
48426 public static class CreateUserWithoutLoginClauseContext extends ParserRuleContext {
48427 public UserNameContext userName() {
48428 return getRuleContext(UserNameContext.class,0);
48429 }
48430 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
48431 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48432 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
48433 public IdentifierContext identifier() {
48434 return getRuleContext(IdentifierContext.class,0);
48435 }
48436 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
48437 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
48438 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48439 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48440 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48441 public List<LimitedOptionsListContext> limitedOptionsList() {
48442 return getRuleContexts(LimitedOptionsListContext.class);
48443 }
48444 public LimitedOptionsListContext limitedOptionsList(int i) {
48445 return getRuleContext(LimitedOptionsListContext.class,i);
48446 }
48447 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48448 public TerminalNode COMMA_(int i) {
48449 return getToken(SQLServerStatementParser.COMMA_, i);
48450 }
48451 public CreateUserWithoutLoginClauseContext(ParserRuleContext parent, int invokingState) {
48452 super(parent, invokingState);
48453 }
48454 @Override public int getRuleIndex() { return RULE_createUserWithoutLoginClause; }
48455 @Override
48456 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48457 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithoutLoginClause(this);
48458 else return visitor.visitChildren(this);
48459 }
48460 }
48461
48462 public final CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() throws RecognitionException {
48463 CreateUserWithoutLoginClauseContext _localctx = new CreateUserWithoutLoginClauseContext(_ctx, getState());
48464 enterRule(_localctx, 930, RULE_createUserWithoutLoginClause);
48465 int _la;
48466 try {
48467 enterOuterAlt(_localctx, 1);
48468 {
48469 setState(6836);
48470 userName();
48471 setState(6857);
48472 _errHandler.sync(this);
48473 switch ( getInterpreter().adaptivePredict(_input,794,_ctx) ) {
48474 case 1:
48475 {
48476 setState(6837);
48477 match(WITHOUT);
48478 setState(6838);
48479 match(LOGIN);
48480 setState(6848);
48481 _errHandler.sync(this);
48482 _la = _input.LA(1);
48483 if (_la==WITH) {
48484 {
48485 setState(6839);
48486 match(WITH);
48487 setState(6840);
48488 limitedOptionsList();
48489 setState(6845);
48490 _errHandler.sync(this);
48491 _la = _input.LA(1);
48492 while (_la==COMMA_) {
48493 {
48494 {
48495 setState(6841);
48496 match(COMMA_);
48497 setState(6842);
48498 limitedOptionsList();
48499 }
48500 }
48501 setState(6847);
48502 _errHandler.sync(this);
48503 _la = _input.LA(1);
48504 }
48505 }
48506 }
48507
48508 }
48509 break;
48510 case 2:
48511 {
48512 setState(6850);
48513 _la = _input.LA(1);
48514 if ( !(_la==FROM || _la==FOR) ) {
48515 _errHandler.recoverInline(this);
48516 }
48517 else {
48518 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48519 _errHandler.reportMatch(this);
48520 consume();
48521 }
48522 setState(6851);
48523 match(CERTIFICATE);
48524 setState(6852);
48525 identifier();
48526 }
48527 break;
48528 case 3:
48529 {
48530 setState(6853);
48531 _la = _input.LA(1);
48532 if ( !(_la==FROM || _la==FOR) ) {
48533 _errHandler.recoverInline(this);
48534 }
48535 else {
48536 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48537 _errHandler.reportMatch(this);
48538 consume();
48539 }
48540 setState(6854);
48541 match(ASYMMETRIC);
48542 setState(6855);
48543 match(KEY);
48544 setState(6856);
48545 identifier();
48546 }
48547 break;
48548 }
48549 }
48550 }
48551 catch (RecognitionException re) {
48552 _localctx.exception = re;
48553 _errHandler.reportError(this, re);
48554 _errHandler.recover(this, re);
48555 }
48556 finally {
48557 exitRule();
48558 }
48559 return _localctx;
48560 }
48561
48562 public static class OptionsListContext extends ParserRuleContext {
48563 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48564 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48565 public SchemaNameContext schemaName() {
48566 return getRuleContext(SchemaNameContext.class,0);
48567 }
48568 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48569 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48570 public IdentifierContext identifier() {
48571 return getRuleContext(IdentifierContext.class,0);
48572 }
48573 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
48574 public SidContext sid() {
48575 return getRuleContext(SidContext.class,0);
48576 }
48577 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48578 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48579 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48580 public OptionsListContext(ParserRuleContext parent, int invokingState) {
48581 super(parent, invokingState);
48582 }
48583 @Override public int getRuleIndex() { return RULE_optionsList; }
48584 @Override
48585 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48586 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionsList(this);
48587 else return visitor.visitChildren(this);
48588 }
48589 }
48590
48591 public final OptionsListContext optionsList() throws RecognitionException {
48592 OptionsListContext _localctx = new OptionsListContext(_ctx, getState());
48593 enterRule(_localctx, 932, RULE_optionsList);
48594 int _la;
48595 try {
48596 setState(6876);
48597 _errHandler.sync(this);
48598 switch (_input.LA(1)) {
48599 case DEFAULT_SCHEMA:
48600 enterOuterAlt(_localctx, 1);
48601 {
48602 setState(6859);
48603 match(DEFAULT_SCHEMA);
48604 setState(6860);
48605 match(EQ_);
48606 setState(6861);
48607 schemaName();
48608 }
48609 break;
48610 case DEFAULT_LANGUAGE:
48611 enterOuterAlt(_localctx, 2);
48612 {
48613 setState(6862);
48614 match(DEFAULT_LANGUAGE);
48615 setState(6863);
48616 match(EQ_);
48617 setState(6866);
48618 _errHandler.sync(this);
48619 switch (_input.LA(1)) {
48620 case NONE:
48621 {
48622 setState(6864);
48623 match(NONE);
48624 }
48625 break;
48626 case TRUNCATE:
48627 case SCHEMA:
48628 case COLUMNS:
48629 case PRECISION:
48630 case FUNCTION:
48631 case TRIGGER:
48632 case CAST:
48633 case TRIM:
48634 case SUBSTRING:
48635 case RIGHT:
48636 case OFF:
48637 case GROUP:
48638 case LIMIT:
48639 case OFFSET:
48640 case SAVEPOINT:
48641 case BOOLEAN:
48642 case ARRAY:
48643 case DATE:
48644 case TIMESTAMP:
48645 case LOCALTIME:
48646 case LOCALTIMESTAMP:
48647 case YEAR:
48648 case QUARTER:
48649 case MONTH:
48650 case WEEK:
48651 case DAY:
48652 case SECOND:
48653 case MICROSECOND:
48654 case MAX:
48655 case MIN:
48656 case SUM:
48657 case COUNT:
48658 case AVG:
48659 case ENABLE:
48660 case DISABLE:
48661 case INSTANCE:
48662 case DO:
48663 case DEFINER:
48664 case SQL:
48665 case CASCADED:
48666 case LOCAL:
48667 case NEXT:
48668 case NAME:
48669 case INTEGER:
48670 case TYPE:
48671 case TEXT:
48672 case VIEWS:
48673 case READ_ONLY:
48674 case DATABASE:
48675 case RETURNS:
48676 case DATEPART:
48677 case PASSWORD:
48678 case BINARY:
48679 case HIDDEN_:
48680 case MOD:
48681 case PARTITION:
48682 case PARTITIONS:
48683 case TOP:
48684 case ROW:
48685 case ROWS:
48686 case XOR:
48687 case ALWAYS:
48688 case USER:
48689 case ROLE:
48690 case START:
48691 case ALGORITHM:
48692 case AUTO:
48693 case BLOCKERS:
48694 case CLUSTERED:
48695 case NONCLUSTERED:
48696 case COLUMNSTORE:
48697 case CONTENT:
48698 case YEARS:
48699 case MONTHS:
48700 case WEEKS:
48701 case DAYS:
48702 case MINUTES:
48703 case DENY:
48704 case DETERMINISTIC:
48705 case DISTRIBUTION:
48706 case DOCUMENT:
48707 case DURABILITY:
48708 case ENCRYPTED:
48709 case FILESTREAM:
48710 case FILETABLE:
48711 case FILLFACTOR:
48712 case FOLLOWING:
48713 case HASH:
48714 case HEAP:
48715 case INBOUND:
48716 case OUTBOUND:
48717 case UNBOUNDED:
48718 case INFINITE:
48719 case LOGIN:
48720 case MASKED:
48721 case MAXDOP:
48722 case MOVE:
48723 case NOCHECK:
48724 case OBJECT:
48725 case ONLINE:
48726 case OVER:
48727 case PAGE:
48728 case PAUSED:
48729 case PERIOD:
48730 case PERSISTED:
48731 case PRECEDING:
48732 case RANDOMIZED:
48733 case RANGE:
48734 case REBUILD:
48735 case REPLICATE:
48736 case REPLICATION:
48737 case RESUMABLE:
48738 case ROWGUIDCOL:
48739 case SAVE:
48740 case SELF:
48741 case SPARSE:
48742 case SWITCH:
48743 case TRAN:
48744 case TRANCOUNT:
48745 case CONTROL:
48746 case CONCAT:
48747 case TAKE:
48748 case OWNERSHIP:
48749 case DEFINITION:
48750 case APPLICATION:
48751 case ASSEMBLY:
48752 case SYMMETRIC:
48753 case ASYMMETRIC:
48754 case SERVER:
48755 case RECEIVE:
48756 case CHANGE:
48757 case TRACE:
48758 case TRACKING:
48759 case RESOURCES:
48760 case SETTINGS:
48761 case STATE:
48762 case AVAILABILITY:
48763 case CREDENTIAL:
48764 case ENDPOINT:
48765 case EVENT:
48766 case NOTIFICATION:
48767 case LINKED:
48768 case AUDIT:
48769 case DDL:
48770 case XML:
48771 case IMPERSONATE:
48772 case SECURABLES:
48773 case AUTHENTICATE:
48774 case EXTERNAL:
48775 case ACCESS:
48776 case ADMINISTER:
48777 case BULK:
48778 case OPERATIONS:
48779 case UNSAFE:
48780 case SHUTDOWN:
48781 case SCOPED:
48782 case CONFIGURATION:
48783 case DATASPACE:
48784 case SERVICE:
48785 case CERTIFICATE:
48786 case CONTRACT:
48787 case ENCRYPTION:
48788 case MASTER:
48789 case DATA:
48790 case SOURCE:
48791 case FILE:
48792 case FORMAT:
48793 case LIBRARY:
48794 case FULLTEXT:
48795 case MASK:
48796 case UNMASK:
48797 case MESSAGE:
48798 case REMOTE:
48799 case BINDING:
48800 case ROUTE:
48801 case SECURITY:
48802 case POLICY:
48803 case AGGREGATE:
48804 case QUEUE:
48805 case RULE:
48806 case SYNONYM:
48807 case COLLECTION:
48808 case SCRIPT:
48809 case KILL:
48810 case BACKUP:
48811 case LOG:
48812 case SHOWPLAN:
48813 case SUBSCRIBE:
48814 case QUERY:
48815 case NOTIFICATIONS:
48816 case CHECKPOINT:
48817 case SEQUENCE:
48818 case ABORT_AFTER_WAIT:
48819 case ALLOW_PAGE_LOCKS:
48820 case ALLOW_ROW_LOCKS:
48821 case ALL_SPARSE_COLUMNS:
48822 case BUCKET_COUNT:
48823 case COLUMNSTORE_ARCHIVE:
48824 case COLUMN_ENCRYPTION_KEY:
48825 case COLUMN_SET:
48826 case COMPRESSION_DELAY:
48827 case DATABASE_DEAULT:
48828 case DATA_COMPRESSION:
48829 case DATA_CONSISTENCY_CHECK:
48830 case ENCRYPTION_TYPE:
48831 case SYSTEM_TIME:
48832 case SYSTEM_VERSIONING:
48833 case TEXTIMAGE_ON:
48834 case WAIT_AT_LOW_PRIORITY:
48835 case STATISTICS_INCREMENTAL:
48836 case STATISTICS_NORECOMPUTE:
48837 case ROUND_ROBIN:
48838 case SCHEMA_AND_DATA:
48839 case SCHEMA_ONLY:
48840 case SORT_IN_TEMPDB:
48841 case IGNORE_DUP_KEY:
48842 case IMPLICIT_TRANSACTIONS:
48843 case MAX_DURATION:
48844 case MEMORY_OPTIMIZED:
48845 case MIGRATION_STATE:
48846 case PAD_INDEX:
48847 case REMOTE_DATA_ARCHIVE:
48848 case FILESTREAM_ON:
48849 case FILETABLE_COLLATE_FILENAME:
48850 case FILETABLE_DIRECTORY:
48851 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48852 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48853 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48854 case FILTER_PREDICATE:
48855 case HISTORY_RETENTION_PERIOD:
48856 case HISTORY_TABLE:
48857 case LOCK_ESCALATION:
48858 case DROP_EXISTING:
48859 case ROW_NUMBER:
48860 case FIRST:
48861 case DATETIME2:
48862 case OUTPUT:
48863 case INSERTED:
48864 case DELETED:
48865 case FILENAME:
48866 case SIZE:
48867 case MAXSIZE:
48868 case FILEGROWTH:
48869 case UNLIMITED:
48870 case KB:
48871 case MB:
48872 case GB:
48873 case TB:
48874 case CONTAINS:
48875 case MEMORY_OPTIMIZED_DATA:
48876 case FILEGROUP:
48877 case NON_TRANSACTED_ACCESS:
48878 case DB_CHAINING:
48879 case TRUSTWORTHY:
48880 case FORWARD_ONLY:
48881 case KEYSET:
48882 case FAST_FORWARD:
48883 case SCROLL_LOCKS:
48884 case OPTIMISTIC:
48885 case TYPE_WARNING:
48886 case SCHEMABINDING:
48887 case CALLER:
48888 case INPUT:
48889 case OWNER:
48890 case SNAPSHOT:
48891 case REPEATABLE:
48892 case SERIALIZABLE:
48893 case NATIVE_COMPILATION:
48894 case VIEW_METADATA:
48895 case INSTEAD:
48896 case APPEND:
48897 case INCREMENT:
48898 case CACHE:
48899 case MINVALUE:
48900 case MAXVALUE:
48901 case RESTART:
48902 case LOB_COMPACTION:
48903 case COMPRESS_ALL_ROW_GROUPS:
48904 case REORGANIZE:
48905 case RESUME:
48906 case PAUSE:
48907 case ABORT:
48908 case ACCELERATED_DATABASE_RECOVERY:
48909 case PERSISTENT_VERSION_STORE_FILEGROUP:
48910 case IMMEDIATE:
48911 case NO_WAIT:
48912 case TARGET_RECOVERY_TIME:
48913 case SECONDS:
48914 case HONOR_BROKER_PRIORITY:
48915 case ERROR_BROKER_CONVERSATIONS:
48916 case NEW_BROKER:
48917 case DISABLE_BROKER:
48918 case ENABLE_BROKER:
48919 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48920 case READ_COMMITTED_SNAPSHOT:
48921 case ALLOW_SNAPSHOT_ISOLATION:
48922 case RECURSIVE_TRIGGERS:
48923 case QUOTED_IDENTIFIER:
48924 case NUMERIC_ROUNDABORT:
48925 case CONCAT_NULL_YIELDS_NULL:
48926 case COMPATIBILITY_LEVEL:
48927 case ARITHABORT:
48928 case ANSI_WARNINGS:
48929 case ANSI_PADDING:
48930 case ANSI_NULLS:
48931 case ANSI_NULL_DEFAULT:
48932 case PAGE_VERIFY:
48933 case CHECKSUM:
48934 case TORN_PAGE_DETECTION:
48935 case BULK_LOGGED:
48936 case RECOVERY:
48937 case TOTAL_EXECUTION_CPU_TIME_MS:
48938 case TOTAL_COMPILE_CPU_TIME_MS:
48939 case STALE_CAPTURE_POLICY_THRESHOLD:
48940 case EXECUTION_COUNT:
48941 case QUERY_CAPTURE_POLICY:
48942 case WAIT_STATS_CAPTURE_MODE:
48943 case MAX_PLANS_PER_QUERY:
48944 case QUERY_CAPTURE_MODE:
48945 case SIZE_BASED_CLEANUP_MODE:
48946 case INTERVAL_LENGTH_MINUTES:
48947 case MAX_STORAGE_SIZE_MB:
48948 case DATA_FLUSH_INTERVAL_SECONDS:
48949 case CLEANUP_POLICY:
48950 case CUSTOM:
48951 case STALE_QUERY_THRESHOLD_DAYS:
48952 case OPERATION_MODE:
48953 case QUERY_STORE:
48954 case CURSOR_DEFAULT:
48955 case GLOBAL:
48956 case CURSOR_CLOSE_ON_COMMIT:
48957 case HOURS:
48958 case CHANGE_RETENTION:
48959 case AUTO_CLEANUP:
48960 case CHANGE_TRACKING:
48961 case AUTOMATIC_TUNING:
48962 case FORCE_LAST_GOOD_PLAN:
48963 case AUTO_UPDATE_STATISTICS_ASYNC:
48964 case AUTO_UPDATE_STATISTICS:
48965 case AUTO_SHRINK:
48966 case AUTO_CREATE_STATISTICS:
48967 case INCREMENTAL:
48968 case AUTO_CLOSE:
48969 case DATA_RETENTION:
48970 case TEMPORAL_HISTORY_RETENTION:
48971 case EDITION:
48972 case MIXED_PAGE_ALLOCATION:
48973 case DISABLED:
48974 case ALLOWED:
48975 case HADR:
48976 case MULTI_USER:
48977 case RESTRICTED_USER:
48978 case SINGLE_USER:
48979 case OFFLINE:
48980 case EMERGENCY:
48981 case SUSPEND:
48982 case DATE_CORRELATION_OPTIMIZATION:
48983 case ELASTIC_POOL:
48984 case SERVICE_OBJECTIVE:
48985 case DATABASE_NAME:
48986 case ALLOW_CONNECTIONS:
48987 case GEO:
48988 case NAMED:
48989 case DATEFIRST:
48990 case BACKUP_STORAGE_REDUNDANCY:
48991 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48992 case SECONDARY:
48993 case FAILOVER:
48994 case DEFAULT_FULLTEXT_LANGUAGE:
48995 case DEFAULT_LANGUAGE:
48996 case INLINE:
48997 case NESTED_TRIGGERS:
48998 case TRANSFORM_NOISE_WORDS:
48999 case TWO_DIGIT_YEAR_CUTOFF:
49000 case PERSISTENT_LOG_BUFFER:
49001 case DIRECTORY_NAME:
49002 case DATEFORMAT:
49003 case DELAYED_DURABILITY:
49004 case AUTHORIZATION:
49005 case TRANSFER:
49006 case PROVIDER:
49007 case SID:
49008 case SEARCH:
49009 case MEMBER:
49010 case JSON:
49011 case IDENTIFIER_:
49012 case DELIMITED_IDENTIFIER_:
49013 {
49014 setState(6865);
49015 identifier();
49016 }
49017 break;
49018 default:
49019 throw new NoViableAltException(this);
49020 }
49021 }
49022 break;
49023 case SID:
49024 enterOuterAlt(_localctx, 3);
49025 {
49026 setState(6868);
49027 match(SID);
49028 setState(6869);
49029 match(EQ_);
49030 setState(6870);
49031 sid();
49032 }
49033 break;
49034 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
49035 enterOuterAlt(_localctx, 4);
49036 {
49037 setState(6871);
49038 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
49039 setState(6872);
49040 match(EQ_);
49041 setState(6874);
49042 _errHandler.sync(this);
49043 _la = _input.LA(1);
49044 if (_la==ON || _la==OFF) {
49045 {
49046 setState(6873);
49047 _la = _input.LA(1);
49048 if ( !(_la==ON || _la==OFF) ) {
49049 _errHandler.recoverInline(this);
49050 }
49051 else {
49052 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49053 _errHandler.reportMatch(this);
49054 consume();
49055 }
49056 }
49057 }
49058
49059 }
49060 break;
49061 default:
49062 throw new NoViableAltException(this);
49063 }
49064 }
49065 catch (RecognitionException re) {
49066 _localctx.exception = re;
49067 _errHandler.reportError(this, re);
49068 _errHandler.recover(this, re);
49069 }
49070 finally {
49071 exitRule();
49072 }
49073 return _localctx;
49074 }
49075
49076 public static class LimitedOptionsListContext extends ParserRuleContext {
49077 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
49078 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49079 public SchemaNameContext schemaName() {
49080 return getRuleContext(SchemaNameContext.class,0);
49081 }
49082 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
49083 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
49084 public IdentifierContext identifier() {
49085 return getRuleContext(IdentifierContext.class,0);
49086 }
49087 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
49088 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
49089 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
49090 public LimitedOptionsListContext(ParserRuleContext parent, int invokingState) {
49091 super(parent, invokingState);
49092 }
49093 @Override public int getRuleIndex() { return RULE_limitedOptionsList; }
49094 @Override
49095 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49096 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLimitedOptionsList(this);
49097 else return visitor.visitChildren(this);
49098 }
49099 }
49100
49101 public final LimitedOptionsListContext limitedOptionsList() throws RecognitionException {
49102 LimitedOptionsListContext _localctx = new LimitedOptionsListContext(_ctx, getState());
49103 enterRule(_localctx, 934, RULE_limitedOptionsList);
49104 int _la;
49105 try {
49106 setState(6892);
49107 _errHandler.sync(this);
49108 switch (_input.LA(1)) {
49109 case DEFAULT_SCHEMA:
49110 enterOuterAlt(_localctx, 1);
49111 {
49112 setState(6878);
49113 match(DEFAULT_SCHEMA);
49114 setState(6879);
49115 match(EQ_);
49116 setState(6880);
49117 schemaName();
49118 }
49119 break;
49120 case DEFAULT_LANGUAGE:
49121 enterOuterAlt(_localctx, 2);
49122 {
49123 setState(6881);
49124 match(DEFAULT_LANGUAGE);
49125 setState(6882);
49126 match(EQ_);
49127 setState(6885);
49128 _errHandler.sync(this);
49129 switch (_input.LA(1)) {
49130 case NONE:
49131 {
49132 setState(6883);
49133 match(NONE);
49134 }
49135 break;
49136 case TRUNCATE:
49137 case SCHEMA:
49138 case COLUMNS:
49139 case PRECISION:
49140 case FUNCTION:
49141 case TRIGGER:
49142 case CAST:
49143 case TRIM:
49144 case SUBSTRING:
49145 case RIGHT:
49146 case OFF:
49147 case GROUP:
49148 case LIMIT:
49149 case OFFSET:
49150 case SAVEPOINT:
49151 case BOOLEAN:
49152 case ARRAY:
49153 case DATE:
49154 case TIMESTAMP:
49155 case LOCALTIME:
49156 case LOCALTIMESTAMP:
49157 case YEAR:
49158 case QUARTER:
49159 case MONTH:
49160 case WEEK:
49161 case DAY:
49162 case SECOND:
49163 case MICROSECOND:
49164 case MAX:
49165 case MIN:
49166 case SUM:
49167 case COUNT:
49168 case AVG:
49169 case ENABLE:
49170 case DISABLE:
49171 case INSTANCE:
49172 case DO:
49173 case DEFINER:
49174 case SQL:
49175 case CASCADED:
49176 case LOCAL:
49177 case NEXT:
49178 case NAME:
49179 case INTEGER:
49180 case TYPE:
49181 case TEXT:
49182 case VIEWS:
49183 case READ_ONLY:
49184 case DATABASE:
49185 case RETURNS:
49186 case DATEPART:
49187 case PASSWORD:
49188 case BINARY:
49189 case HIDDEN_:
49190 case MOD:
49191 case PARTITION:
49192 case PARTITIONS:
49193 case TOP:
49194 case ROW:
49195 case ROWS:
49196 case XOR:
49197 case ALWAYS:
49198 case USER:
49199 case ROLE:
49200 case START:
49201 case ALGORITHM:
49202 case AUTO:
49203 case BLOCKERS:
49204 case CLUSTERED:
49205 case NONCLUSTERED:
49206 case COLUMNSTORE:
49207 case CONTENT:
49208 case YEARS:
49209 case MONTHS:
49210 case WEEKS:
49211 case DAYS:
49212 case MINUTES:
49213 case DENY:
49214 case DETERMINISTIC:
49215 case DISTRIBUTION:
49216 case DOCUMENT:
49217 case DURABILITY:
49218 case ENCRYPTED:
49219 case FILESTREAM:
49220 case FILETABLE:
49221 case FILLFACTOR:
49222 case FOLLOWING:
49223 case HASH:
49224 case HEAP:
49225 case INBOUND:
49226 case OUTBOUND:
49227 case UNBOUNDED:
49228 case INFINITE:
49229 case LOGIN:
49230 case MASKED:
49231 case MAXDOP:
49232 case MOVE:
49233 case NOCHECK:
49234 case OBJECT:
49235 case ONLINE:
49236 case OVER:
49237 case PAGE:
49238 case PAUSED:
49239 case PERIOD:
49240 case PERSISTED:
49241 case PRECEDING:
49242 case RANDOMIZED:
49243 case RANGE:
49244 case REBUILD:
49245 case REPLICATE:
49246 case REPLICATION:
49247 case RESUMABLE:
49248 case ROWGUIDCOL:
49249 case SAVE:
49250 case SELF:
49251 case SPARSE:
49252 case SWITCH:
49253 case TRAN:
49254 case TRANCOUNT:
49255 case CONTROL:
49256 case CONCAT:
49257 case TAKE:
49258 case OWNERSHIP:
49259 case DEFINITION:
49260 case APPLICATION:
49261 case ASSEMBLY:
49262 case SYMMETRIC:
49263 case ASYMMETRIC:
49264 case SERVER:
49265 case RECEIVE:
49266 case CHANGE:
49267 case TRACE:
49268 case TRACKING:
49269 case RESOURCES:
49270 case SETTINGS:
49271 case STATE:
49272 case AVAILABILITY:
49273 case CREDENTIAL:
49274 case ENDPOINT:
49275 case EVENT:
49276 case NOTIFICATION:
49277 case LINKED:
49278 case AUDIT:
49279 case DDL:
49280 case XML:
49281 case IMPERSONATE:
49282 case SECURABLES:
49283 case AUTHENTICATE:
49284 case EXTERNAL:
49285 case ACCESS:
49286 case ADMINISTER:
49287 case BULK:
49288 case OPERATIONS:
49289 case UNSAFE:
49290 case SHUTDOWN:
49291 case SCOPED:
49292 case CONFIGURATION:
49293 case DATASPACE:
49294 case SERVICE:
49295 case CERTIFICATE:
49296 case CONTRACT:
49297 case ENCRYPTION:
49298 case MASTER:
49299 case DATA:
49300 case SOURCE:
49301 case FILE:
49302 case FORMAT:
49303 case LIBRARY:
49304 case FULLTEXT:
49305 case MASK:
49306 case UNMASK:
49307 case MESSAGE:
49308 case REMOTE:
49309 case BINDING:
49310 case ROUTE:
49311 case SECURITY:
49312 case POLICY:
49313 case AGGREGATE:
49314 case QUEUE:
49315 case RULE:
49316 case SYNONYM:
49317 case COLLECTION:
49318 case SCRIPT:
49319 case KILL:
49320 case BACKUP:
49321 case LOG:
49322 case SHOWPLAN:
49323 case SUBSCRIBE:
49324 case QUERY:
49325 case NOTIFICATIONS:
49326 case CHECKPOINT:
49327 case SEQUENCE:
49328 case ABORT_AFTER_WAIT:
49329 case ALLOW_PAGE_LOCKS:
49330 case ALLOW_ROW_LOCKS:
49331 case ALL_SPARSE_COLUMNS:
49332 case BUCKET_COUNT:
49333 case COLUMNSTORE_ARCHIVE:
49334 case COLUMN_ENCRYPTION_KEY:
49335 case COLUMN_SET:
49336 case COMPRESSION_DELAY:
49337 case DATABASE_DEAULT:
49338 case DATA_COMPRESSION:
49339 case DATA_CONSISTENCY_CHECK:
49340 case ENCRYPTION_TYPE:
49341 case SYSTEM_TIME:
49342 case SYSTEM_VERSIONING:
49343 case TEXTIMAGE_ON:
49344 case WAIT_AT_LOW_PRIORITY:
49345 case STATISTICS_INCREMENTAL:
49346 case STATISTICS_NORECOMPUTE:
49347 case ROUND_ROBIN:
49348 case SCHEMA_AND_DATA:
49349 case SCHEMA_ONLY:
49350 case SORT_IN_TEMPDB:
49351 case IGNORE_DUP_KEY:
49352 case IMPLICIT_TRANSACTIONS:
49353 case MAX_DURATION:
49354 case MEMORY_OPTIMIZED:
49355 case MIGRATION_STATE:
49356 case PAD_INDEX:
49357 case REMOTE_DATA_ARCHIVE:
49358 case FILESTREAM_ON:
49359 case FILETABLE_COLLATE_FILENAME:
49360 case FILETABLE_DIRECTORY:
49361 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49362 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49363 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49364 case FILTER_PREDICATE:
49365 case HISTORY_RETENTION_PERIOD:
49366 case HISTORY_TABLE:
49367 case LOCK_ESCALATION:
49368 case DROP_EXISTING:
49369 case ROW_NUMBER:
49370 case FIRST:
49371 case DATETIME2:
49372 case OUTPUT:
49373 case INSERTED:
49374 case DELETED:
49375 case FILENAME:
49376 case SIZE:
49377 case MAXSIZE:
49378 case FILEGROWTH:
49379 case UNLIMITED:
49380 case KB:
49381 case MB:
49382 case GB:
49383 case TB:
49384 case CONTAINS:
49385 case MEMORY_OPTIMIZED_DATA:
49386 case FILEGROUP:
49387 case NON_TRANSACTED_ACCESS:
49388 case DB_CHAINING:
49389 case TRUSTWORTHY:
49390 case FORWARD_ONLY:
49391 case KEYSET:
49392 case FAST_FORWARD:
49393 case SCROLL_LOCKS:
49394 case OPTIMISTIC:
49395 case TYPE_WARNING:
49396 case SCHEMABINDING:
49397 case CALLER:
49398 case INPUT:
49399 case OWNER:
49400 case SNAPSHOT:
49401 case REPEATABLE:
49402 case SERIALIZABLE:
49403 case NATIVE_COMPILATION:
49404 case VIEW_METADATA:
49405 case INSTEAD:
49406 case APPEND:
49407 case INCREMENT:
49408 case CACHE:
49409 case MINVALUE:
49410 case MAXVALUE:
49411 case RESTART:
49412 case LOB_COMPACTION:
49413 case COMPRESS_ALL_ROW_GROUPS:
49414 case REORGANIZE:
49415 case RESUME:
49416 case PAUSE:
49417 case ABORT:
49418 case ACCELERATED_DATABASE_RECOVERY:
49419 case PERSISTENT_VERSION_STORE_FILEGROUP:
49420 case IMMEDIATE:
49421 case NO_WAIT:
49422 case TARGET_RECOVERY_TIME:
49423 case SECONDS:
49424 case HONOR_BROKER_PRIORITY:
49425 case ERROR_BROKER_CONVERSATIONS:
49426 case NEW_BROKER:
49427 case DISABLE_BROKER:
49428 case ENABLE_BROKER:
49429 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49430 case READ_COMMITTED_SNAPSHOT:
49431 case ALLOW_SNAPSHOT_ISOLATION:
49432 case RECURSIVE_TRIGGERS:
49433 case QUOTED_IDENTIFIER:
49434 case NUMERIC_ROUNDABORT:
49435 case CONCAT_NULL_YIELDS_NULL:
49436 case COMPATIBILITY_LEVEL:
49437 case ARITHABORT:
49438 case ANSI_WARNINGS:
49439 case ANSI_PADDING:
49440 case ANSI_NULLS:
49441 case ANSI_NULL_DEFAULT:
49442 case PAGE_VERIFY:
49443 case CHECKSUM:
49444 case TORN_PAGE_DETECTION:
49445 case BULK_LOGGED:
49446 case RECOVERY:
49447 case TOTAL_EXECUTION_CPU_TIME_MS:
49448 case TOTAL_COMPILE_CPU_TIME_MS:
49449 case STALE_CAPTURE_POLICY_THRESHOLD:
49450 case EXECUTION_COUNT:
49451 case QUERY_CAPTURE_POLICY:
49452 case WAIT_STATS_CAPTURE_MODE:
49453 case MAX_PLANS_PER_QUERY:
49454 case QUERY_CAPTURE_MODE:
49455 case SIZE_BASED_CLEANUP_MODE:
49456 case INTERVAL_LENGTH_MINUTES:
49457 case MAX_STORAGE_SIZE_MB:
49458 case DATA_FLUSH_INTERVAL_SECONDS:
49459 case CLEANUP_POLICY:
49460 case CUSTOM:
49461 case STALE_QUERY_THRESHOLD_DAYS:
49462 case OPERATION_MODE:
49463 case QUERY_STORE:
49464 case CURSOR_DEFAULT:
49465 case GLOBAL:
49466 case CURSOR_CLOSE_ON_COMMIT:
49467 case HOURS:
49468 case CHANGE_RETENTION:
49469 case AUTO_CLEANUP:
49470 case CHANGE_TRACKING:
49471 case AUTOMATIC_TUNING:
49472 case FORCE_LAST_GOOD_PLAN:
49473 case AUTO_UPDATE_STATISTICS_ASYNC:
49474 case AUTO_UPDATE_STATISTICS:
49475 case AUTO_SHRINK:
49476 case AUTO_CREATE_STATISTICS:
49477 case INCREMENTAL:
49478 case AUTO_CLOSE:
49479 case DATA_RETENTION:
49480 case TEMPORAL_HISTORY_RETENTION:
49481 case EDITION:
49482 case MIXED_PAGE_ALLOCATION:
49483 case DISABLED:
49484 case ALLOWED:
49485 case HADR:
49486 case MULTI_USER:
49487 case RESTRICTED_USER:
49488 case SINGLE_USER:
49489 case OFFLINE:
49490 case EMERGENCY:
49491 case SUSPEND:
49492 case DATE_CORRELATION_OPTIMIZATION:
49493 case ELASTIC_POOL:
49494 case SERVICE_OBJECTIVE:
49495 case DATABASE_NAME:
49496 case ALLOW_CONNECTIONS:
49497 case GEO:
49498 case NAMED:
49499 case DATEFIRST:
49500 case BACKUP_STORAGE_REDUNDANCY:
49501 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49502 case SECONDARY:
49503 case FAILOVER:
49504 case DEFAULT_FULLTEXT_LANGUAGE:
49505 case DEFAULT_LANGUAGE:
49506 case INLINE:
49507 case NESTED_TRIGGERS:
49508 case TRANSFORM_NOISE_WORDS:
49509 case TWO_DIGIT_YEAR_CUTOFF:
49510 case PERSISTENT_LOG_BUFFER:
49511 case DIRECTORY_NAME:
49512 case DATEFORMAT:
49513 case DELAYED_DURABILITY:
49514 case AUTHORIZATION:
49515 case TRANSFER:
49516 case PROVIDER:
49517 case SID:
49518 case SEARCH:
49519 case MEMBER:
49520 case JSON:
49521 case IDENTIFIER_:
49522 case DELIMITED_IDENTIFIER_:
49523 {
49524 setState(6884);
49525 identifier();
49526 }
49527 break;
49528 default:
49529 throw new NoViableAltException(this);
49530 }
49531 }
49532 break;
49533 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
49534 enterOuterAlt(_localctx, 3);
49535 {
49536 setState(6887);
49537 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
49538 setState(6888);
49539 match(EQ_);
49540 setState(6890);
49541 _errHandler.sync(this);
49542 _la = _input.LA(1);
49543 if (_la==ON || _la==OFF) {
49544 {
49545 setState(6889);
49546 _la = _input.LA(1);
49547 if ( !(_la==ON || _la==OFF) ) {
49548 _errHandler.recoverInline(this);
49549 }
49550 else {
49551 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49552 _errHandler.reportMatch(this);
49553 consume();
49554 }
49555 }
49556 }
49557
49558 }
49559 break;
49560 default:
49561 throw new NoViableAltException(this);
49562 }
49563 }
49564 catch (RecognitionException re) {
49565 _localctx.exception = re;
49566 _errHandler.reportError(this, re);
49567 _errHandler.recover(this, re);
49568 }
49569 finally {
49570 exitRule();
49571 }
49572 return _localctx;
49573 }
49574
49575 public static class CreateUserFromExternalProviderClauseContext extends ParserRuleContext {
49576 public UserNameContext userName() {
49577 return getRuleContext(UserNameContext.class,0);
49578 }
49579 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49580 public IdentifierContext identifier() {
49581 return getRuleContext(IdentifierContext.class,0);
49582 }
49583 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
49584 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49585 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
49586 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
49587 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49588 public List<LimitedOptionsListContext> limitedOptionsList() {
49589 return getRuleContexts(LimitedOptionsListContext.class);
49590 }
49591 public LimitedOptionsListContext limitedOptionsList(int i) {
49592 return getRuleContext(LimitedOptionsListContext.class,i);
49593 }
49594 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
49595 public TerminalNode COMMA_(int i) {
49596 return getToken(SQLServerStatementParser.COMMA_, i);
49597 }
49598 public CreateUserFromExternalProviderClauseContext(ParserRuleContext parent, int invokingState) {
49599 super(parent, invokingState);
49600 }
49601 @Override public int getRuleIndex() { return RULE_createUserFromExternalProviderClause; }
49602 @Override
49603 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49604 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserFromExternalProviderClause(this);
49605 else return visitor.visitChildren(this);
49606 }
49607 }
49608
49609 public final CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() throws RecognitionException {
49610 CreateUserFromExternalProviderClauseContext _localctx = new CreateUserFromExternalProviderClauseContext(_ctx, getState());
49611 enterRule(_localctx, 936, RULE_createUserFromExternalProviderClause);
49612 int _la;
49613 try {
49614 setState(6914);
49615 _errHandler.sync(this);
49616 switch (_input.LA(1)) {
49617 case TRUNCATE:
49618 case SCHEMA:
49619 case COLUMNS:
49620 case PRECISION:
49621 case FUNCTION:
49622 case TRIGGER:
49623 case CAST:
49624 case TRIM:
49625 case SUBSTRING:
49626 case RIGHT:
49627 case OFF:
49628 case GROUP:
49629 case LIMIT:
49630 case OFFSET:
49631 case SAVEPOINT:
49632 case BOOLEAN:
49633 case ARRAY:
49634 case DATE:
49635 case TIMESTAMP:
49636 case LOCALTIME:
49637 case LOCALTIMESTAMP:
49638 case YEAR:
49639 case QUARTER:
49640 case MONTH:
49641 case WEEK:
49642 case DAY:
49643 case SECOND:
49644 case MICROSECOND:
49645 case MAX:
49646 case MIN:
49647 case SUM:
49648 case COUNT:
49649 case AVG:
49650 case ENABLE:
49651 case DISABLE:
49652 case INSTANCE:
49653 case DO:
49654 case DEFINER:
49655 case SQL:
49656 case CASCADED:
49657 case LOCAL:
49658 case NEXT:
49659 case NAME:
49660 case INTEGER:
49661 case TYPE:
49662 case TEXT:
49663 case VIEWS:
49664 case READ_ONLY:
49665 case DATABASE:
49666 case RETURNS:
49667 case DATEPART:
49668 case PASSWORD:
49669 case BINARY:
49670 case HIDDEN_:
49671 case MOD:
49672 case PARTITION:
49673 case PARTITIONS:
49674 case TOP:
49675 case ROW:
49676 case ROWS:
49677 case XOR:
49678 case ALWAYS:
49679 case USER:
49680 case ROLE:
49681 case START:
49682 case ALGORITHM:
49683 case AUTO:
49684 case BLOCKERS:
49685 case CLUSTERED:
49686 case NONCLUSTERED:
49687 case COLUMNSTORE:
49688 case CONTENT:
49689 case YEARS:
49690 case MONTHS:
49691 case WEEKS:
49692 case DAYS:
49693 case MINUTES:
49694 case DENY:
49695 case DETERMINISTIC:
49696 case DISTRIBUTION:
49697 case DOCUMENT:
49698 case DURABILITY:
49699 case ENCRYPTED:
49700 case FILESTREAM:
49701 case FILETABLE:
49702 case FILLFACTOR:
49703 case FOLLOWING:
49704 case HASH:
49705 case HEAP:
49706 case INBOUND:
49707 case OUTBOUND:
49708 case UNBOUNDED:
49709 case INFINITE:
49710 case LOGIN:
49711 case MASKED:
49712 case MAXDOP:
49713 case MOVE:
49714 case NOCHECK:
49715 case OBJECT:
49716 case ONLINE:
49717 case OVER:
49718 case PAGE:
49719 case PAUSED:
49720 case PERIOD:
49721 case PERSISTED:
49722 case PRECEDING:
49723 case RANDOMIZED:
49724 case RANGE:
49725 case REBUILD:
49726 case REPLICATE:
49727 case REPLICATION:
49728 case RESUMABLE:
49729 case ROWGUIDCOL:
49730 case SAVE:
49731 case SELF:
49732 case SPARSE:
49733 case SWITCH:
49734 case TRAN:
49735 case TRANCOUNT:
49736 case CONTROL:
49737 case CONCAT:
49738 case TAKE:
49739 case OWNERSHIP:
49740 case DEFINITION:
49741 case APPLICATION:
49742 case ASSEMBLY:
49743 case SYMMETRIC:
49744 case ASYMMETRIC:
49745 case SERVER:
49746 case RECEIVE:
49747 case CHANGE:
49748 case TRACE:
49749 case TRACKING:
49750 case RESOURCES:
49751 case SETTINGS:
49752 case STATE:
49753 case AVAILABILITY:
49754 case CREDENTIAL:
49755 case ENDPOINT:
49756 case EVENT:
49757 case NOTIFICATION:
49758 case LINKED:
49759 case AUDIT:
49760 case DDL:
49761 case XML:
49762 case IMPERSONATE:
49763 case SECURABLES:
49764 case AUTHENTICATE:
49765 case EXTERNAL:
49766 case ACCESS:
49767 case ADMINISTER:
49768 case BULK:
49769 case OPERATIONS:
49770 case UNSAFE:
49771 case SHUTDOWN:
49772 case SCOPED:
49773 case CONFIGURATION:
49774 case DATASPACE:
49775 case SERVICE:
49776 case CERTIFICATE:
49777 case CONTRACT:
49778 case ENCRYPTION:
49779 case MASTER:
49780 case DATA:
49781 case SOURCE:
49782 case FILE:
49783 case FORMAT:
49784 case LIBRARY:
49785 case FULLTEXT:
49786 case MASK:
49787 case UNMASK:
49788 case MESSAGE:
49789 case REMOTE:
49790 case BINDING:
49791 case ROUTE:
49792 case SECURITY:
49793 case POLICY:
49794 case AGGREGATE:
49795 case QUEUE:
49796 case RULE:
49797 case SYNONYM:
49798 case COLLECTION:
49799 case SCRIPT:
49800 case KILL:
49801 case BACKUP:
49802 case LOG:
49803 case SHOWPLAN:
49804 case SUBSCRIBE:
49805 case QUERY:
49806 case NOTIFICATIONS:
49807 case CHECKPOINT:
49808 case SEQUENCE:
49809 case ABORT_AFTER_WAIT:
49810 case ALLOW_PAGE_LOCKS:
49811 case ALLOW_ROW_LOCKS:
49812 case ALL_SPARSE_COLUMNS:
49813 case BUCKET_COUNT:
49814 case COLUMNSTORE_ARCHIVE:
49815 case COLUMN_ENCRYPTION_KEY:
49816 case COLUMN_SET:
49817 case COMPRESSION_DELAY:
49818 case DATABASE_DEAULT:
49819 case DATA_COMPRESSION:
49820 case DATA_CONSISTENCY_CHECK:
49821 case ENCRYPTION_TYPE:
49822 case SYSTEM_TIME:
49823 case SYSTEM_VERSIONING:
49824 case TEXTIMAGE_ON:
49825 case WAIT_AT_LOW_PRIORITY:
49826 case STATISTICS_INCREMENTAL:
49827 case STATISTICS_NORECOMPUTE:
49828 case ROUND_ROBIN:
49829 case SCHEMA_AND_DATA:
49830 case SCHEMA_ONLY:
49831 case SORT_IN_TEMPDB:
49832 case IGNORE_DUP_KEY:
49833 case IMPLICIT_TRANSACTIONS:
49834 case MAX_DURATION:
49835 case MEMORY_OPTIMIZED:
49836 case MIGRATION_STATE:
49837 case PAD_INDEX:
49838 case REMOTE_DATA_ARCHIVE:
49839 case FILESTREAM_ON:
49840 case FILETABLE_COLLATE_FILENAME:
49841 case FILETABLE_DIRECTORY:
49842 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49843 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49844 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49845 case FILTER_PREDICATE:
49846 case HISTORY_RETENTION_PERIOD:
49847 case HISTORY_TABLE:
49848 case LOCK_ESCALATION:
49849 case DROP_EXISTING:
49850 case ROW_NUMBER:
49851 case FIRST:
49852 case DATETIME2:
49853 case OUTPUT:
49854 case INSERTED:
49855 case DELETED:
49856 case FILENAME:
49857 case SIZE:
49858 case MAXSIZE:
49859 case FILEGROWTH:
49860 case UNLIMITED:
49861 case KB:
49862 case MB:
49863 case GB:
49864 case TB:
49865 case CONTAINS:
49866 case MEMORY_OPTIMIZED_DATA:
49867 case FILEGROUP:
49868 case NON_TRANSACTED_ACCESS:
49869 case DB_CHAINING:
49870 case TRUSTWORTHY:
49871 case FORWARD_ONLY:
49872 case KEYSET:
49873 case FAST_FORWARD:
49874 case SCROLL_LOCKS:
49875 case OPTIMISTIC:
49876 case TYPE_WARNING:
49877 case SCHEMABINDING:
49878 case CALLER:
49879 case INPUT:
49880 case OWNER:
49881 case SNAPSHOT:
49882 case REPEATABLE:
49883 case SERIALIZABLE:
49884 case NATIVE_COMPILATION:
49885 case VIEW_METADATA:
49886 case INSTEAD:
49887 case APPEND:
49888 case INCREMENT:
49889 case CACHE:
49890 case MINVALUE:
49891 case MAXVALUE:
49892 case RESTART:
49893 case LOB_COMPACTION:
49894 case COMPRESS_ALL_ROW_GROUPS:
49895 case REORGANIZE:
49896 case RESUME:
49897 case PAUSE:
49898 case ABORT:
49899 case ACCELERATED_DATABASE_RECOVERY:
49900 case PERSISTENT_VERSION_STORE_FILEGROUP:
49901 case IMMEDIATE:
49902 case NO_WAIT:
49903 case TARGET_RECOVERY_TIME:
49904 case SECONDS:
49905 case HONOR_BROKER_PRIORITY:
49906 case ERROR_BROKER_CONVERSATIONS:
49907 case NEW_BROKER:
49908 case DISABLE_BROKER:
49909 case ENABLE_BROKER:
49910 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49911 case READ_COMMITTED_SNAPSHOT:
49912 case ALLOW_SNAPSHOT_ISOLATION:
49913 case RECURSIVE_TRIGGERS:
49914 case QUOTED_IDENTIFIER:
49915 case NUMERIC_ROUNDABORT:
49916 case CONCAT_NULL_YIELDS_NULL:
49917 case COMPATIBILITY_LEVEL:
49918 case ARITHABORT:
49919 case ANSI_WARNINGS:
49920 case ANSI_PADDING:
49921 case ANSI_NULLS:
49922 case ANSI_NULL_DEFAULT:
49923 case PAGE_VERIFY:
49924 case CHECKSUM:
49925 case TORN_PAGE_DETECTION:
49926 case BULK_LOGGED:
49927 case RECOVERY:
49928 case TOTAL_EXECUTION_CPU_TIME_MS:
49929 case TOTAL_COMPILE_CPU_TIME_MS:
49930 case STALE_CAPTURE_POLICY_THRESHOLD:
49931 case EXECUTION_COUNT:
49932 case QUERY_CAPTURE_POLICY:
49933 case WAIT_STATS_CAPTURE_MODE:
49934 case MAX_PLANS_PER_QUERY:
49935 case QUERY_CAPTURE_MODE:
49936 case SIZE_BASED_CLEANUP_MODE:
49937 case INTERVAL_LENGTH_MINUTES:
49938 case MAX_STORAGE_SIZE_MB:
49939 case DATA_FLUSH_INTERVAL_SECONDS:
49940 case CLEANUP_POLICY:
49941 case CUSTOM:
49942 case STALE_QUERY_THRESHOLD_DAYS:
49943 case OPERATION_MODE:
49944 case QUERY_STORE:
49945 case CURSOR_DEFAULT:
49946 case GLOBAL:
49947 case CURSOR_CLOSE_ON_COMMIT:
49948 case HOURS:
49949 case CHANGE_RETENTION:
49950 case AUTO_CLEANUP:
49951 case CHANGE_TRACKING:
49952 case AUTOMATIC_TUNING:
49953 case FORCE_LAST_GOOD_PLAN:
49954 case AUTO_UPDATE_STATISTICS_ASYNC:
49955 case AUTO_UPDATE_STATISTICS:
49956 case AUTO_SHRINK:
49957 case AUTO_CREATE_STATISTICS:
49958 case INCREMENTAL:
49959 case AUTO_CLOSE:
49960 case DATA_RETENTION:
49961 case TEMPORAL_HISTORY_RETENTION:
49962 case EDITION:
49963 case MIXED_PAGE_ALLOCATION:
49964 case DISABLED:
49965 case ALLOWED:
49966 case HADR:
49967 case MULTI_USER:
49968 case RESTRICTED_USER:
49969 case SINGLE_USER:
49970 case OFFLINE:
49971 case EMERGENCY:
49972 case SUSPEND:
49973 case DATE_CORRELATION_OPTIMIZATION:
49974 case ELASTIC_POOL:
49975 case SERVICE_OBJECTIVE:
49976 case DATABASE_NAME:
49977 case ALLOW_CONNECTIONS:
49978 case GEO:
49979 case NAMED:
49980 case DATEFIRST:
49981 case BACKUP_STORAGE_REDUNDANCY:
49982 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49983 case SECONDARY:
49984 case FAILOVER:
49985 case DEFAULT_FULLTEXT_LANGUAGE:
49986 case DEFAULT_LANGUAGE:
49987 case INLINE:
49988 case NESTED_TRIGGERS:
49989 case TRANSFORM_NOISE_WORDS:
49990 case TWO_DIGIT_YEAR_CUTOFF:
49991 case PERSISTENT_LOG_BUFFER:
49992 case DIRECTORY_NAME:
49993 case DATEFORMAT:
49994 case DELAYED_DURABILITY:
49995 case AUTHORIZATION:
49996 case TRANSFER:
49997 case PROVIDER:
49998 case SID:
49999 case SEARCH:
50000 case MEMBER:
50001 case JSON:
50002 case IDENTIFIER_:
50003 case DELIMITED_IDENTIFIER_:
50004 enterOuterAlt(_localctx, 1);
50005 {
50006 setState(6894);
50007 userName();
50008 setState(6898);
50009 _errHandler.sync(this);
50010 _la = _input.LA(1);
50011 if (_la==FROM || _la==FOR) {
50012 {
50013 setState(6895);
50014 _la = _input.LA(1);
50015 if ( !(_la==FROM || _la==FOR) ) {
50016 _errHandler.recoverInline(this);
50017 }
50018 else {
50019 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50020 _errHandler.reportMatch(this);
50021 consume();
50022 }
50023 setState(6896);
50024 match(LOGIN);
50025 setState(6897);
50026 identifier();
50027 }
50028 }
50029
50030 }
50031 break;
50032 case FROM:
50033 enterOuterAlt(_localctx, 2);
50034 {
50035 setState(6900);
50036 match(FROM);
50037 setState(6901);
50038 match(EXTERNAL);
50039 setState(6902);
50040 match(PROVIDER);
50041 setState(6912);
50042 _errHandler.sync(this);
50043 _la = _input.LA(1);
50044 if (_la==WITH) {
50045 {
50046 setState(6903);
50047 match(WITH);
50048 setState(6904);
50049 limitedOptionsList();
50050 setState(6909);
50051 _errHandler.sync(this);
50052 _la = _input.LA(1);
50053 while (_la==COMMA_) {
50054 {
50055 {
50056 setState(6905);
50057 match(COMMA_);
50058 setState(6906);
50059 limitedOptionsList();
50060 }
50061 }
50062 setState(6911);
50063 _errHandler.sync(this);
50064 _la = _input.LA(1);
50065 }
50066 }
50067 }
50068
50069 }
50070 break;
50071 default:
50072 throw new NoViableAltException(this);
50073 }
50074 }
50075 catch (RecognitionException re) {
50076 _localctx.exception = re;
50077 _errHandler.reportError(this, re);
50078 _errHandler.recover(this, re);
50079 }
50080 finally {
50081 exitRule();
50082 }
50083 return _localctx;
50084 }
50085
50086 public static class CreateUserWithDefaultSchemaContext extends ParserRuleContext {
50087 public UserNameContext userName() {
50088 return getRuleContext(UserNameContext.class,0);
50089 }
50090 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50091 public IdentifierContext identifier() {
50092 return getRuleContext(IdentifierContext.class,0);
50093 }
50094 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
50095 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50096 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
50097 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50098 public SchemaNameContext schemaName() {
50099 return getRuleContext(SchemaNameContext.class,0);
50100 }
50101 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
50102 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50103 public CreateUserWithDefaultSchemaContext(ParserRuleContext parent, int invokingState) {
50104 super(parent, invokingState);
50105 }
50106 @Override public int getRuleIndex() { return RULE_createUserWithDefaultSchema; }
50107 @Override
50108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithDefaultSchema(this);
50110 else return visitor.visitChildren(this);
50111 }
50112 }
50113
50114 public final CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() throws RecognitionException {
50115 CreateUserWithDefaultSchemaContext _localctx = new CreateUserWithDefaultSchemaContext(_ctx, getState());
50116 enterRule(_localctx, 938, RULE_createUserWithDefaultSchema);
50117 int _la;
50118 try {
50119 enterOuterAlt(_localctx, 1);
50120 {
50121 setState(6916);
50122 userName();
50123 setState(6922);
50124 _errHandler.sync(this);
50125 switch (_input.LA(1)) {
50126 case FROM:
50127 case FOR:
50128 {
50129 setState(6917);
50130 _la = _input.LA(1);
50131 if ( !(_la==FROM || _la==FOR) ) {
50132 _errHandler.recoverInline(this);
50133 }
50134 else {
50135 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50136 _errHandler.reportMatch(this);
50137 consume();
50138 }
50139 setState(6918);
50140 match(LOGIN);
50141 setState(6919);
50142 identifier();
50143 }
50144 break;
50145 case WITHOUT:
50146 {
50147 setState(6920);
50148 match(WITHOUT);
50149 setState(6921);
50150 match(LOGIN);
50151 }
50152 break;
50153 case EOF:
50154 case SEMI_:
50155 case WITH:
50156 break;
50157 default:
50158 break;
50159 }
50160 setState(6928);
50161 _errHandler.sync(this);
50162 _la = _input.LA(1);
50163 if (_la==WITH) {
50164 {
50165 setState(6924);
50166 match(WITH);
50167 setState(6925);
50168 match(DEFAULT_SCHEMA);
50169 setState(6926);
50170 match(EQ_);
50171 setState(6927);
50172 schemaName();
50173 }
50174 }
50175
50176 }
50177 }
50178 catch (RecognitionException re) {
50179 _localctx.exception = re;
50180 _errHandler.reportError(this, re);
50181 _errHandler.recover(this, re);
50182 }
50183 finally {
50184 exitRule();
50185 }
50186 return _localctx;
50187 }
50188
50189 public static class CreateUserWithAzureActiveDirectoryPrincipalClauseContext extends ParserRuleContext {
50190 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
50191 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
50192 }
50193 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50194 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50195 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50196 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50197 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
50198 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50199 public SchemaNameContext schemaName() {
50200 return getRuleContext(SchemaNameContext.class,0);
50201 }
50202 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
50203 super(parent, invokingState);
50204 }
50205 @Override public int getRuleIndex() { return RULE_createUserWithAzureActiveDirectoryPrincipalClause; }
50206 @Override
50207 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50208 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithAzureActiveDirectoryPrincipalClause(this);
50209 else return visitor.visitChildren(this);
50210 }
50211 }
50212
50213 public final CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() throws RecognitionException {
50214 CreateUserWithAzureActiveDirectoryPrincipalClauseContext _localctx = new CreateUserWithAzureActiveDirectoryPrincipalClauseContext(_ctx, getState());
50215 enterRule(_localctx, 940, RULE_createUserWithAzureActiveDirectoryPrincipalClause);
50216 int _la;
50217 try {
50218 enterOuterAlt(_localctx, 1);
50219 {
50220 setState(6930);
50221 azureActiveDirectoryPrincipal();
50222 setState(6931);
50223 match(FROM);
50224 setState(6932);
50225 match(EXTERNAL);
50226 setState(6933);
50227 match(PROVIDER);
50228 setState(6938);
50229 _errHandler.sync(this);
50230 _la = _input.LA(1);
50231 if (_la==WITH) {
50232 {
50233 setState(6934);
50234 match(WITH);
50235 setState(6935);
50236 match(DEFAULT_SCHEMA);
50237 setState(6936);
50238 match(EQ_);
50239 setState(6937);
50240 schemaName();
50241 }
50242 }
50243
50244 }
50245 }
50246 catch (RecognitionException re) {
50247 _localctx.exception = re;
50248 _errHandler.reportError(this, re);
50249 _errHandler.recover(this, re);
50250 }
50251 finally {
50252 exitRule();
50253 }
50254 return _localctx;
50255 }
50256
50257 public static class WindowsPrincipalContext extends ParserRuleContext {
50258 public UserNameContext userName() {
50259 return getRuleContext(UserNameContext.class,0);
50260 }
50261 public WindowsPrincipalContext(ParserRuleContext parent, int invokingState) {
50262 super(parent, invokingState);
50263 }
50264 @Override public int getRuleIndex() { return RULE_windowsPrincipal; }
50265 @Override
50266 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50267 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsPrincipal(this);
50268 else return visitor.visitChildren(this);
50269 }
50270 }
50271
50272 public final WindowsPrincipalContext windowsPrincipal() throws RecognitionException {
50273 WindowsPrincipalContext _localctx = new WindowsPrincipalContext(_ctx, getState());
50274 enterRule(_localctx, 942, RULE_windowsPrincipal);
50275 try {
50276 enterOuterAlt(_localctx, 1);
50277 {
50278 setState(6940);
50279 userName();
50280 }
50281 }
50282 catch (RecognitionException re) {
50283 _localctx.exception = re;
50284 _errHandler.reportError(this, re);
50285 _errHandler.recover(this, re);
50286 }
50287 finally {
50288 exitRule();
50289 }
50290 return _localctx;
50291 }
50292
50293 public static class AzureActiveDirectoryPrincipalContext extends ParserRuleContext {
50294 public UserNameContext userName() {
50295 return getRuleContext(UserNameContext.class,0);
50296 }
50297 public AzureActiveDirectoryPrincipalContext(ParserRuleContext parent, int invokingState) {
50298 super(parent, invokingState);
50299 }
50300 @Override public int getRuleIndex() { return RULE_azureActiveDirectoryPrincipal; }
50301 @Override
50302 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50303 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureActiveDirectoryPrincipal(this);
50304 else return visitor.visitChildren(this);
50305 }
50306 }
50307
50308 public final AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() throws RecognitionException {
50309 AzureActiveDirectoryPrincipalContext _localctx = new AzureActiveDirectoryPrincipalContext(_ctx, getState());
50310 enterRule(_localctx, 944, RULE_azureActiveDirectoryPrincipal);
50311 try {
50312 enterOuterAlt(_localctx, 1);
50313 {
50314 setState(6942);
50315 userName();
50316 }
50317 }
50318 catch (RecognitionException re) {
50319 _localctx.exception = re;
50320 _errHandler.reportError(this, re);
50321 _errHandler.recover(this, re);
50322 }
50323 finally {
50324 exitRule();
50325 }
50326 return _localctx;
50327 }
50328
50329 public static class UserNameContext extends ParserRuleContext {
50330 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50331 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50332 }
50333 public UserNameContext(ParserRuleContext parent, int invokingState) {
50334 super(parent, invokingState);
50335 }
50336 @Override public int getRuleIndex() { return RULE_userName; }
50337 @Override
50338 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50339 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUserName(this);
50340 else return visitor.visitChildren(this);
50341 }
50342 }
50343
50344 public final UserNameContext userName() throws RecognitionException {
50345 UserNameContext _localctx = new UserNameContext(_ctx, getState());
50346 enterRule(_localctx, 946, RULE_userName);
50347 try {
50348 enterOuterAlt(_localctx, 1);
50349 {
50350 setState(6944);
50351 ignoredNameIdentifier();
50352 }
50353 }
50354 catch (RecognitionException re) {
50355 _localctx.exception = re;
50356 _errHandler.reportError(this, re);
50357 _errHandler.recover(this, re);
50358 }
50359 finally {
50360 exitRule();
50361 }
50362 return _localctx;
50363 }
50364
50365 public static class IgnoredNameIdentifierContext extends ParserRuleContext {
50366 public List<IdentifierContext> identifier() {
50367 return getRuleContexts(IdentifierContext.class);
50368 }
50369 public IdentifierContext identifier(int i) {
50370 return getRuleContext(IdentifierContext.class,i);
50371 }
50372 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
50373 public IgnoredNameIdentifierContext(ParserRuleContext parent, int invokingState) {
50374 super(parent, invokingState);
50375 }
50376 @Override public int getRuleIndex() { return RULE_ignoredNameIdentifier; }
50377 @Override
50378 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50379 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredNameIdentifier(this);
50380 else return visitor.visitChildren(this);
50381 }
50382 }
50383
50384 public final IgnoredNameIdentifierContext ignoredNameIdentifier() throws RecognitionException {
50385 IgnoredNameIdentifierContext _localctx = new IgnoredNameIdentifierContext(_ctx, getState());
50386 enterRule(_localctx, 948, RULE_ignoredNameIdentifier);
50387 int _la;
50388 try {
50389 enterOuterAlt(_localctx, 1);
50390 {
50391 setState(6946);
50392 identifier();
50393 setState(6949);
50394 _errHandler.sync(this);
50395 _la = _input.LA(1);
50396 if (_la==DOT_) {
50397 {
50398 setState(6947);
50399 match(DOT_);
50400 setState(6948);
50401 identifier();
50402 }
50403 }
50404
50405 }
50406 }
50407 catch (RecognitionException re) {
50408 _localctx.exception = re;
50409 _errHandler.reportError(this, re);
50410 _errHandler.recover(this, re);
50411 }
50412 finally {
50413 exitRule();
50414 }
50415 return _localctx;
50416 }
50417
50418 public static class DropUserContext extends ParserRuleContext {
50419 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
50420 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
50421 public UserNameContext userName() {
50422 return getRuleContext(UserNameContext.class,0);
50423 }
50424 public IfExistsContext ifExists() {
50425 return getRuleContext(IfExistsContext.class,0);
50426 }
50427 public DropUserContext(ParserRuleContext parent, int invokingState) {
50428 super(parent, invokingState);
50429 }
50430 @Override public int getRuleIndex() { return RULE_dropUser; }
50431 @Override
50432 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50433 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropUser(this);
50434 else return visitor.visitChildren(this);
50435 }
50436 }
50437
50438 public final DropUserContext dropUser() throws RecognitionException {
50439 DropUserContext _localctx = new DropUserContext(_ctx, getState());
50440 enterRule(_localctx, 950, RULE_dropUser);
50441 int _la;
50442 try {
50443 enterOuterAlt(_localctx, 1);
50444 {
50445 setState(6951);
50446 match(DROP);
50447 setState(6952);
50448 match(USER);
50449 setState(6954);
50450 _errHandler.sync(this);
50451 _la = _input.LA(1);
50452 if (_la==IF) {
50453 {
50454 setState(6953);
50455 ifExists();
50456 }
50457 }
50458
50459 setState(6956);
50460 userName();
50461 }
50462 }
50463 catch (RecognitionException re) {
50464 _localctx.exception = re;
50465 _errHandler.reportError(this, re);
50466 _errHandler.recover(this, re);
50467 }
50468 finally {
50469 exitRule();
50470 }
50471 return _localctx;
50472 }
50473
50474 public static class AlterUserContext extends ParserRuleContext {
50475 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
50476 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
50477 public UserNameContext userName() {
50478 return getRuleContext(UserNameContext.class,0);
50479 }
50480 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50481 public List<SetItemContext> setItem() {
50482 return getRuleContexts(SetItemContext.class);
50483 }
50484 public SetItemContext setItem(int i) {
50485 return getRuleContext(SetItemContext.class,i);
50486 }
50487 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50488 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50489 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50490 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50491 public TerminalNode COMMA_(int i) {
50492 return getToken(SQLServerStatementParser.COMMA_, i);
50493 }
50494 public AlterUserContext(ParserRuleContext parent, int invokingState) {
50495 super(parent, invokingState);
50496 }
50497 @Override public int getRuleIndex() { return RULE_alterUser; }
50498 @Override
50499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50500 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterUser(this);
50501 else return visitor.visitChildren(this);
50502 }
50503 }
50504
50505 public final AlterUserContext alterUser() throws RecognitionException {
50506 AlterUserContext _localctx = new AlterUserContext(_ctx, getState());
50507 enterRule(_localctx, 952, RULE_alterUser);
50508 int _la;
50509 try {
50510 enterOuterAlt(_localctx, 1);
50511 {
50512 setState(6958);
50513 match(ALTER);
50514 setState(6959);
50515 match(USER);
50516 setState(6960);
50517 userName();
50518 setState(6973);
50519 _errHandler.sync(this);
50520 switch (_input.LA(1)) {
50521 case WITH:
50522 {
50523 setState(6961);
50524 match(WITH);
50525 setState(6962);
50526 setItem();
50527 setState(6967);
50528 _errHandler.sync(this);
50529 _la = _input.LA(1);
50530 while (_la==COMMA_) {
50531 {
50532 {
50533 setState(6963);
50534 match(COMMA_);
50535 setState(6964);
50536 setItem();
50537 }
50538 }
50539 setState(6969);
50540 _errHandler.sync(this);
50541 _la = _input.LA(1);
50542 }
50543 }
50544 break;
50545 case FROM:
50546 {
50547 setState(6970);
50548 match(FROM);
50549 setState(6971);
50550 match(EXTERNAL);
50551 setState(6972);
50552 match(PROVIDER);
50553 }
50554 break;
50555 default:
50556 throw new NoViableAltException(this);
50557 }
50558 }
50559 }
50560 catch (RecognitionException re) {
50561 _localctx.exception = re;
50562 _errHandler.reportError(this, re);
50563 _errHandler.recover(this, re);
50564 }
50565 finally {
50566 exitRule();
50567 }
50568 return _localctx;
50569 }
50570
50571 public static class SetItemContext extends ParserRuleContext {
50572 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
50573 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50574 public TerminalNode EQ_(int i) {
50575 return getToken(SQLServerStatementParser.EQ_, i);
50576 }
50577 public UserNameContext userName() {
50578 return getRuleContext(UserNameContext.class,0);
50579 }
50580 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
50581 public SchemaNameContext schemaName() {
50582 return getRuleContext(SchemaNameContext.class,0);
50583 }
50584 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
50585 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50586 public IdentifierContext identifier() {
50587 return getRuleContext(IdentifierContext.class,0);
50588 }
50589 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50590 public List<StringLiteralsContext> stringLiterals() {
50591 return getRuleContexts(StringLiteralsContext.class);
50592 }
50593 public StringLiteralsContext stringLiterals(int i) {
50594 return getRuleContext(StringLiteralsContext.class,i);
50595 }
50596 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
50597 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50598 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
50599 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
50600 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50601 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50602 public SetItemContext(ParserRuleContext parent, int invokingState) {
50603 super(parent, invokingState);
50604 }
50605 @Override public int getRuleIndex() { return RULE_setItem; }
50606 @Override
50607 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50608 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetItem(this);
50609 else return visitor.visitChildren(this);
50610 }
50611 }
50612
50613 public final SetItemContext setItem() throws RecognitionException {
50614 SetItemContext _localctx = new SetItemContext(_ctx, getState());
50615 enterRule(_localctx, 954, RULE_setItem);
50616 int _la;
50617 try {
50618 setState(7006);
50619 _errHandler.sync(this);
50620 switch (_input.LA(1)) {
50621 case NAME:
50622 enterOuterAlt(_localctx, 1);
50623 {
50624 setState(6975);
50625 match(NAME);
50626 setState(6976);
50627 match(EQ_);
50628 setState(6977);
50629 userName();
50630 }
50631 break;
50632 case DEFAULT_SCHEMA:
50633 enterOuterAlt(_localctx, 2);
50634 {
50635 setState(6978);
50636 match(DEFAULT_SCHEMA);
50637 setState(6979);
50638 match(EQ_);
50639 setState(6982);
50640 _errHandler.sync(this);
50641 switch (_input.LA(1)) {
50642 case TRUNCATE:
50643 case SCHEMA:
50644 case COLUMNS:
50645 case PRECISION:
50646 case FUNCTION:
50647 case TRIGGER:
50648 case CAST:
50649 case TRIM:
50650 case SUBSTRING:
50651 case RIGHT:
50652 case OFF:
50653 case GROUP:
50654 case LIMIT:
50655 case OFFSET:
50656 case SAVEPOINT:
50657 case BOOLEAN:
50658 case ARRAY:
50659 case DATE:
50660 case TIMESTAMP:
50661 case LOCALTIME:
50662 case LOCALTIMESTAMP:
50663 case YEAR:
50664 case QUARTER:
50665 case MONTH:
50666 case WEEK:
50667 case DAY:
50668 case SECOND:
50669 case MICROSECOND:
50670 case MAX:
50671 case MIN:
50672 case SUM:
50673 case COUNT:
50674 case AVG:
50675 case ENABLE:
50676 case DISABLE:
50677 case INSTANCE:
50678 case DO:
50679 case DEFINER:
50680 case SQL:
50681 case CASCADED:
50682 case LOCAL:
50683 case NEXT:
50684 case NAME:
50685 case INTEGER:
50686 case TYPE:
50687 case TEXT:
50688 case VIEWS:
50689 case READ_ONLY:
50690 case DATABASE:
50691 case RETURNS:
50692 case DATEPART:
50693 case PASSWORD:
50694 case BINARY:
50695 case HIDDEN_:
50696 case MOD:
50697 case PARTITION:
50698 case PARTITIONS:
50699 case TOP:
50700 case ROW:
50701 case ROWS:
50702 case XOR:
50703 case ALWAYS:
50704 case USER:
50705 case ROLE:
50706 case START:
50707 case ALGORITHM:
50708 case AUTO:
50709 case BLOCKERS:
50710 case CLUSTERED:
50711 case NONCLUSTERED:
50712 case COLUMNSTORE:
50713 case CONTENT:
50714 case YEARS:
50715 case MONTHS:
50716 case WEEKS:
50717 case DAYS:
50718 case MINUTES:
50719 case DENY:
50720 case DETERMINISTIC:
50721 case DISTRIBUTION:
50722 case DOCUMENT:
50723 case DURABILITY:
50724 case ENCRYPTED:
50725 case FILESTREAM:
50726 case FILETABLE:
50727 case FILLFACTOR:
50728 case FOLLOWING:
50729 case HASH:
50730 case HEAP:
50731 case INBOUND:
50732 case OUTBOUND:
50733 case UNBOUNDED:
50734 case INFINITE:
50735 case LOGIN:
50736 case MASKED:
50737 case MAXDOP:
50738 case MOVE:
50739 case NOCHECK:
50740 case OBJECT:
50741 case ONLINE:
50742 case OVER:
50743 case PAGE:
50744 case PAUSED:
50745 case PERIOD:
50746 case PERSISTED:
50747 case PRECEDING:
50748 case RANDOMIZED:
50749 case RANGE:
50750 case REBUILD:
50751 case REPLICATE:
50752 case REPLICATION:
50753 case RESUMABLE:
50754 case ROWGUIDCOL:
50755 case SAVE:
50756 case SELF:
50757 case SPARSE:
50758 case SWITCH:
50759 case TRAN:
50760 case TRANCOUNT:
50761 case CONTROL:
50762 case CONCAT:
50763 case TAKE:
50764 case OWNERSHIP:
50765 case DEFINITION:
50766 case APPLICATION:
50767 case ASSEMBLY:
50768 case SYMMETRIC:
50769 case ASYMMETRIC:
50770 case SERVER:
50771 case RECEIVE:
50772 case CHANGE:
50773 case TRACE:
50774 case TRACKING:
50775 case RESOURCES:
50776 case SETTINGS:
50777 case STATE:
50778 case AVAILABILITY:
50779 case CREDENTIAL:
50780 case ENDPOINT:
50781 case EVENT:
50782 case NOTIFICATION:
50783 case LINKED:
50784 case AUDIT:
50785 case DDL:
50786 case XML:
50787 case IMPERSONATE:
50788 case SECURABLES:
50789 case AUTHENTICATE:
50790 case EXTERNAL:
50791 case ACCESS:
50792 case ADMINISTER:
50793 case BULK:
50794 case OPERATIONS:
50795 case UNSAFE:
50796 case SHUTDOWN:
50797 case SCOPED:
50798 case CONFIGURATION:
50799 case DATASPACE:
50800 case SERVICE:
50801 case CERTIFICATE:
50802 case CONTRACT:
50803 case ENCRYPTION:
50804 case MASTER:
50805 case DATA:
50806 case SOURCE:
50807 case FILE:
50808 case FORMAT:
50809 case LIBRARY:
50810 case FULLTEXT:
50811 case MASK:
50812 case UNMASK:
50813 case MESSAGE:
50814 case REMOTE:
50815 case BINDING:
50816 case ROUTE:
50817 case SECURITY:
50818 case POLICY:
50819 case AGGREGATE:
50820 case QUEUE:
50821 case RULE:
50822 case SYNONYM:
50823 case COLLECTION:
50824 case SCRIPT:
50825 case KILL:
50826 case BACKUP:
50827 case LOG:
50828 case SHOWPLAN:
50829 case SUBSCRIBE:
50830 case QUERY:
50831 case NOTIFICATIONS:
50832 case CHECKPOINT:
50833 case SEQUENCE:
50834 case ABORT_AFTER_WAIT:
50835 case ALLOW_PAGE_LOCKS:
50836 case ALLOW_ROW_LOCKS:
50837 case ALL_SPARSE_COLUMNS:
50838 case BUCKET_COUNT:
50839 case COLUMNSTORE_ARCHIVE:
50840 case COLUMN_ENCRYPTION_KEY:
50841 case COLUMN_SET:
50842 case COMPRESSION_DELAY:
50843 case DATABASE_DEAULT:
50844 case DATA_COMPRESSION:
50845 case DATA_CONSISTENCY_CHECK:
50846 case ENCRYPTION_TYPE:
50847 case SYSTEM_TIME:
50848 case SYSTEM_VERSIONING:
50849 case TEXTIMAGE_ON:
50850 case WAIT_AT_LOW_PRIORITY:
50851 case STATISTICS_INCREMENTAL:
50852 case STATISTICS_NORECOMPUTE:
50853 case ROUND_ROBIN:
50854 case SCHEMA_AND_DATA:
50855 case SCHEMA_ONLY:
50856 case SORT_IN_TEMPDB:
50857 case IGNORE_DUP_KEY:
50858 case IMPLICIT_TRANSACTIONS:
50859 case MAX_DURATION:
50860 case MEMORY_OPTIMIZED:
50861 case MIGRATION_STATE:
50862 case PAD_INDEX:
50863 case REMOTE_DATA_ARCHIVE:
50864 case FILESTREAM_ON:
50865 case FILETABLE_COLLATE_FILENAME:
50866 case FILETABLE_DIRECTORY:
50867 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
50868 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
50869 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
50870 case FILTER_PREDICATE:
50871 case HISTORY_RETENTION_PERIOD:
50872 case HISTORY_TABLE:
50873 case LOCK_ESCALATION:
50874 case DROP_EXISTING:
50875 case ROW_NUMBER:
50876 case FIRST:
50877 case DATETIME2:
50878 case OUTPUT:
50879 case INSERTED:
50880 case DELETED:
50881 case FILENAME:
50882 case SIZE:
50883 case MAXSIZE:
50884 case FILEGROWTH:
50885 case UNLIMITED:
50886 case KB:
50887 case MB:
50888 case GB:
50889 case TB:
50890 case CONTAINS:
50891 case MEMORY_OPTIMIZED_DATA:
50892 case FILEGROUP:
50893 case NON_TRANSACTED_ACCESS:
50894 case DB_CHAINING:
50895 case TRUSTWORTHY:
50896 case FORWARD_ONLY:
50897 case KEYSET:
50898 case FAST_FORWARD:
50899 case SCROLL_LOCKS:
50900 case OPTIMISTIC:
50901 case TYPE_WARNING:
50902 case SCHEMABINDING:
50903 case CALLER:
50904 case INPUT:
50905 case OWNER:
50906 case SNAPSHOT:
50907 case REPEATABLE:
50908 case SERIALIZABLE:
50909 case NATIVE_COMPILATION:
50910 case VIEW_METADATA:
50911 case INSTEAD:
50912 case APPEND:
50913 case INCREMENT:
50914 case CACHE:
50915 case MINVALUE:
50916 case MAXVALUE:
50917 case RESTART:
50918 case LOB_COMPACTION:
50919 case COMPRESS_ALL_ROW_GROUPS:
50920 case REORGANIZE:
50921 case RESUME:
50922 case PAUSE:
50923 case ABORT:
50924 case ACCELERATED_DATABASE_RECOVERY:
50925 case PERSISTENT_VERSION_STORE_FILEGROUP:
50926 case IMMEDIATE:
50927 case NO_WAIT:
50928 case TARGET_RECOVERY_TIME:
50929 case SECONDS:
50930 case HONOR_BROKER_PRIORITY:
50931 case ERROR_BROKER_CONVERSATIONS:
50932 case NEW_BROKER:
50933 case DISABLE_BROKER:
50934 case ENABLE_BROKER:
50935 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
50936 case READ_COMMITTED_SNAPSHOT:
50937 case ALLOW_SNAPSHOT_ISOLATION:
50938 case RECURSIVE_TRIGGERS:
50939 case QUOTED_IDENTIFIER:
50940 case NUMERIC_ROUNDABORT:
50941 case CONCAT_NULL_YIELDS_NULL:
50942 case COMPATIBILITY_LEVEL:
50943 case ARITHABORT:
50944 case ANSI_WARNINGS:
50945 case ANSI_PADDING:
50946 case ANSI_NULLS:
50947 case ANSI_NULL_DEFAULT:
50948 case PAGE_VERIFY:
50949 case CHECKSUM:
50950 case TORN_PAGE_DETECTION:
50951 case BULK_LOGGED:
50952 case RECOVERY:
50953 case TOTAL_EXECUTION_CPU_TIME_MS:
50954 case TOTAL_COMPILE_CPU_TIME_MS:
50955 case STALE_CAPTURE_POLICY_THRESHOLD:
50956 case EXECUTION_COUNT:
50957 case QUERY_CAPTURE_POLICY:
50958 case WAIT_STATS_CAPTURE_MODE:
50959 case MAX_PLANS_PER_QUERY:
50960 case QUERY_CAPTURE_MODE:
50961 case SIZE_BASED_CLEANUP_MODE:
50962 case INTERVAL_LENGTH_MINUTES:
50963 case MAX_STORAGE_SIZE_MB:
50964 case DATA_FLUSH_INTERVAL_SECONDS:
50965 case CLEANUP_POLICY:
50966 case CUSTOM:
50967 case STALE_QUERY_THRESHOLD_DAYS:
50968 case OPERATION_MODE:
50969 case QUERY_STORE:
50970 case CURSOR_DEFAULT:
50971 case GLOBAL:
50972 case CURSOR_CLOSE_ON_COMMIT:
50973 case HOURS:
50974 case CHANGE_RETENTION:
50975 case AUTO_CLEANUP:
50976 case CHANGE_TRACKING:
50977 case AUTOMATIC_TUNING:
50978 case FORCE_LAST_GOOD_PLAN:
50979 case AUTO_UPDATE_STATISTICS_ASYNC:
50980 case AUTO_UPDATE_STATISTICS:
50981 case AUTO_SHRINK:
50982 case AUTO_CREATE_STATISTICS:
50983 case INCREMENTAL:
50984 case AUTO_CLOSE:
50985 case DATA_RETENTION:
50986 case TEMPORAL_HISTORY_RETENTION:
50987 case EDITION:
50988 case MIXED_PAGE_ALLOCATION:
50989 case DISABLED:
50990 case ALLOWED:
50991 case HADR:
50992 case MULTI_USER:
50993 case RESTRICTED_USER:
50994 case SINGLE_USER:
50995 case OFFLINE:
50996 case EMERGENCY:
50997 case SUSPEND:
50998 case DATE_CORRELATION_OPTIMIZATION:
50999 case ELASTIC_POOL:
51000 case SERVICE_OBJECTIVE:
51001 case DATABASE_NAME:
51002 case ALLOW_CONNECTIONS:
51003 case GEO:
51004 case NAMED:
51005 case DATEFIRST:
51006 case BACKUP_STORAGE_REDUNDANCY:
51007 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
51008 case SECONDARY:
51009 case FAILOVER:
51010 case DEFAULT_FULLTEXT_LANGUAGE:
51011 case DEFAULT_LANGUAGE:
51012 case INLINE:
51013 case NESTED_TRIGGERS:
51014 case TRANSFORM_NOISE_WORDS:
51015 case TWO_DIGIT_YEAR_CUTOFF:
51016 case PERSISTENT_LOG_BUFFER:
51017 case DIRECTORY_NAME:
51018 case DATEFORMAT:
51019 case DELAYED_DURABILITY:
51020 case AUTHORIZATION:
51021 case TRANSFER:
51022 case PROVIDER:
51023 case SID:
51024 case SEARCH:
51025 case MEMBER:
51026 case JSON:
51027 case IDENTIFIER_:
51028 case DELIMITED_IDENTIFIER_:
51029 {
51030 setState(6980);
51031 schemaName();
51032 }
51033 break;
51034 case NULL:
51035 {
51036 setState(6981);
51037 match(NULL);
51038 }
51039 break;
51040 default:
51041 throw new NoViableAltException(this);
51042 }
51043 }
51044 break;
51045 case LOGIN:
51046 enterOuterAlt(_localctx, 3);
51047 {
51048 setState(6984);
51049 match(LOGIN);
51050 setState(6985);
51051 match(EQ_);
51052 setState(6986);
51053 identifier();
51054 }
51055 break;
51056 case PASSWORD:
51057 enterOuterAlt(_localctx, 4);
51058 {
51059 setState(6987);
51060 match(PASSWORD);
51061 setState(6988);
51062 match(EQ_);
51063 setState(6989);
51064 stringLiterals();
51065 setState(6993);
51066 _errHandler.sync(this);
51067 _la = _input.LA(1);
51068 if (_la==OLD_PASSWORD) {
51069 {
51070 setState(6990);
51071 match(OLD_PASSWORD);
51072 setState(6991);
51073 match(EQ_);
51074 setState(6992);
51075 stringLiterals();
51076 }
51077 }
51078
51079 }
51080 break;
51081 case DEFAULT_LANGUAGE:
51082 enterOuterAlt(_localctx, 5);
51083 {
51084 setState(6995);
51085 match(DEFAULT_LANGUAGE);
51086 setState(6996);
51087 match(EQ_);
51088 setState(6999);
51089 _errHandler.sync(this);
51090 switch (_input.LA(1)) {
51091 case NONE:
51092 {
51093 setState(6997);
51094 match(NONE);
51095 }
51096 break;
51097 case TRUNCATE:
51098 case SCHEMA:
51099 case COLUMNS:
51100 case PRECISION:
51101 case FUNCTION:
51102 case TRIGGER:
51103 case CAST:
51104 case TRIM:
51105 case SUBSTRING:
51106 case RIGHT:
51107 case OFF:
51108 case GROUP:
51109 case LIMIT:
51110 case OFFSET:
51111 case SAVEPOINT:
51112 case BOOLEAN:
51113 case ARRAY:
51114 case DATE:
51115 case TIMESTAMP:
51116 case LOCALTIME:
51117 case LOCALTIMESTAMP:
51118 case YEAR:
51119 case QUARTER:
51120 case MONTH:
51121 case WEEK:
51122 case DAY:
51123 case SECOND:
51124 case MICROSECOND:
51125 case MAX:
51126 case MIN:
51127 case SUM:
51128 case COUNT:
51129 case AVG:
51130 case ENABLE:
51131 case DISABLE:
51132 case INSTANCE:
51133 case DO:
51134 case DEFINER:
51135 case SQL:
51136 case CASCADED:
51137 case LOCAL:
51138 case NEXT:
51139 case NAME:
51140 case INTEGER:
51141 case TYPE:
51142 case TEXT:
51143 case VIEWS:
51144 case READ_ONLY:
51145 case DATABASE:
51146 case RETURNS:
51147 case DATEPART:
51148 case PASSWORD:
51149 case BINARY:
51150 case HIDDEN_:
51151 case MOD:
51152 case PARTITION:
51153 case PARTITIONS:
51154 case TOP:
51155 case ROW:
51156 case ROWS:
51157 case XOR:
51158 case ALWAYS:
51159 case USER:
51160 case ROLE:
51161 case START:
51162 case ALGORITHM:
51163 case AUTO:
51164 case BLOCKERS:
51165 case CLUSTERED:
51166 case NONCLUSTERED:
51167 case COLUMNSTORE:
51168 case CONTENT:
51169 case YEARS:
51170 case MONTHS:
51171 case WEEKS:
51172 case DAYS:
51173 case MINUTES:
51174 case DENY:
51175 case DETERMINISTIC:
51176 case DISTRIBUTION:
51177 case DOCUMENT:
51178 case DURABILITY:
51179 case ENCRYPTED:
51180 case FILESTREAM:
51181 case FILETABLE:
51182 case FILLFACTOR:
51183 case FOLLOWING:
51184 case HASH:
51185 case HEAP:
51186 case INBOUND:
51187 case OUTBOUND:
51188 case UNBOUNDED:
51189 case INFINITE:
51190 case LOGIN:
51191 case MASKED:
51192 case MAXDOP:
51193 case MOVE:
51194 case NOCHECK:
51195 case OBJECT:
51196 case ONLINE:
51197 case OVER:
51198 case PAGE:
51199 case PAUSED:
51200 case PERIOD:
51201 case PERSISTED:
51202 case PRECEDING:
51203 case RANDOMIZED:
51204 case RANGE:
51205 case REBUILD:
51206 case REPLICATE:
51207 case REPLICATION:
51208 case RESUMABLE:
51209 case ROWGUIDCOL:
51210 case SAVE:
51211 case SELF:
51212 case SPARSE:
51213 case SWITCH:
51214 case TRAN:
51215 case TRANCOUNT:
51216 case CONTROL:
51217 case CONCAT:
51218 case TAKE:
51219 case OWNERSHIP:
51220 case DEFINITION:
51221 case APPLICATION:
51222 case ASSEMBLY:
51223 case SYMMETRIC:
51224 case ASYMMETRIC:
51225 case SERVER:
51226 case RECEIVE:
51227 case CHANGE:
51228 case TRACE:
51229 case TRACKING:
51230 case RESOURCES:
51231 case SETTINGS:
51232 case STATE:
51233 case AVAILABILITY:
51234 case CREDENTIAL:
51235 case ENDPOINT:
51236 case EVENT:
51237 case NOTIFICATION:
51238 case LINKED:
51239 case AUDIT:
51240 case DDL:
51241 case XML:
51242 case IMPERSONATE:
51243 case SECURABLES:
51244 case AUTHENTICATE:
51245 case EXTERNAL:
51246 case ACCESS:
51247 case ADMINISTER:
51248 case BULK:
51249 case OPERATIONS:
51250 case UNSAFE:
51251 case SHUTDOWN:
51252 case SCOPED:
51253 case CONFIGURATION:
51254 case DATASPACE:
51255 case SERVICE:
51256 case CERTIFICATE:
51257 case CONTRACT:
51258 case ENCRYPTION:
51259 case MASTER:
51260 case DATA:
51261 case SOURCE:
51262 case FILE:
51263 case FORMAT:
51264 case LIBRARY:
51265 case FULLTEXT:
51266 case MASK:
51267 case UNMASK:
51268 case MESSAGE:
51269 case REMOTE:
51270 case BINDING:
51271 case ROUTE:
51272 case SECURITY:
51273 case POLICY:
51274 case AGGREGATE:
51275 case QUEUE:
51276 case RULE:
51277 case SYNONYM:
51278 case COLLECTION:
51279 case SCRIPT:
51280 case KILL:
51281 case BACKUP:
51282 case LOG:
51283 case SHOWPLAN:
51284 case SUBSCRIBE:
51285 case QUERY:
51286 case NOTIFICATIONS:
51287 case CHECKPOINT:
51288 case SEQUENCE:
51289 case ABORT_AFTER_WAIT:
51290 case ALLOW_PAGE_LOCKS:
51291 case ALLOW_ROW_LOCKS:
51292 case ALL_SPARSE_COLUMNS:
51293 case BUCKET_COUNT:
51294 case COLUMNSTORE_ARCHIVE:
51295 case COLUMN_ENCRYPTION_KEY:
51296 case COLUMN_SET:
51297 case COMPRESSION_DELAY:
51298 case DATABASE_DEAULT:
51299 case DATA_COMPRESSION:
51300 case DATA_CONSISTENCY_CHECK:
51301 case ENCRYPTION_TYPE:
51302 case SYSTEM_TIME:
51303 case SYSTEM_VERSIONING:
51304 case TEXTIMAGE_ON:
51305 case WAIT_AT_LOW_PRIORITY:
51306 case STATISTICS_INCREMENTAL:
51307 case STATISTICS_NORECOMPUTE:
51308 case ROUND_ROBIN:
51309 case SCHEMA_AND_DATA:
51310 case SCHEMA_ONLY:
51311 case SORT_IN_TEMPDB:
51312 case IGNORE_DUP_KEY:
51313 case IMPLICIT_TRANSACTIONS:
51314 case MAX_DURATION:
51315 case MEMORY_OPTIMIZED:
51316 case MIGRATION_STATE:
51317 case PAD_INDEX:
51318 case REMOTE_DATA_ARCHIVE:
51319 case FILESTREAM_ON:
51320 case FILETABLE_COLLATE_FILENAME:
51321 case FILETABLE_DIRECTORY:
51322 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
51323 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
51324 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
51325 case FILTER_PREDICATE:
51326 case HISTORY_RETENTION_PERIOD:
51327 case HISTORY_TABLE:
51328 case LOCK_ESCALATION:
51329 case DROP_EXISTING:
51330 case ROW_NUMBER:
51331 case FIRST:
51332 case DATETIME2:
51333 case OUTPUT:
51334 case INSERTED:
51335 case DELETED:
51336 case FILENAME:
51337 case SIZE:
51338 case MAXSIZE:
51339 case FILEGROWTH:
51340 case UNLIMITED:
51341 case KB:
51342 case MB:
51343 case GB:
51344 case TB:
51345 case CONTAINS:
51346 case MEMORY_OPTIMIZED_DATA:
51347 case FILEGROUP:
51348 case NON_TRANSACTED_ACCESS:
51349 case DB_CHAINING:
51350 case TRUSTWORTHY:
51351 case FORWARD_ONLY:
51352 case KEYSET:
51353 case FAST_FORWARD:
51354 case SCROLL_LOCKS:
51355 case OPTIMISTIC:
51356 case TYPE_WARNING:
51357 case SCHEMABINDING:
51358 case CALLER:
51359 case INPUT:
51360 case OWNER:
51361 case SNAPSHOT:
51362 case REPEATABLE:
51363 case SERIALIZABLE:
51364 case NATIVE_COMPILATION:
51365 case VIEW_METADATA:
51366 case INSTEAD:
51367 case APPEND:
51368 case INCREMENT:
51369 case CACHE:
51370 case MINVALUE:
51371 case MAXVALUE:
51372 case RESTART:
51373 case LOB_COMPACTION:
51374 case COMPRESS_ALL_ROW_GROUPS:
51375 case REORGANIZE:
51376 case RESUME:
51377 case PAUSE:
51378 case ABORT:
51379 case ACCELERATED_DATABASE_RECOVERY:
51380 case PERSISTENT_VERSION_STORE_FILEGROUP:
51381 case IMMEDIATE:
51382 case NO_WAIT:
51383 case TARGET_RECOVERY_TIME:
51384 case SECONDS:
51385 case HONOR_BROKER_PRIORITY:
51386 case ERROR_BROKER_CONVERSATIONS:
51387 case NEW_BROKER:
51388 case DISABLE_BROKER:
51389 case ENABLE_BROKER:
51390 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
51391 case READ_COMMITTED_SNAPSHOT:
51392 case ALLOW_SNAPSHOT_ISOLATION:
51393 case RECURSIVE_TRIGGERS:
51394 case QUOTED_IDENTIFIER:
51395 case NUMERIC_ROUNDABORT:
51396 case CONCAT_NULL_YIELDS_NULL:
51397 case COMPATIBILITY_LEVEL:
51398 case ARITHABORT:
51399 case ANSI_WARNINGS:
51400 case ANSI_PADDING:
51401 case ANSI_NULLS:
51402 case ANSI_NULL_DEFAULT:
51403 case PAGE_VERIFY:
51404 case CHECKSUM:
51405 case TORN_PAGE_DETECTION:
51406 case BULK_LOGGED:
51407 case RECOVERY:
51408 case TOTAL_EXECUTION_CPU_TIME_MS:
51409 case TOTAL_COMPILE_CPU_TIME_MS:
51410 case STALE_CAPTURE_POLICY_THRESHOLD:
51411 case EXECUTION_COUNT:
51412 case QUERY_CAPTURE_POLICY:
51413 case WAIT_STATS_CAPTURE_MODE:
51414 case MAX_PLANS_PER_QUERY:
51415 case QUERY_CAPTURE_MODE:
51416 case SIZE_BASED_CLEANUP_MODE:
51417 case INTERVAL_LENGTH_MINUTES:
51418 case MAX_STORAGE_SIZE_MB:
51419 case DATA_FLUSH_INTERVAL_SECONDS:
51420 case CLEANUP_POLICY:
51421 case CUSTOM:
51422 case STALE_QUERY_THRESHOLD_DAYS:
51423 case OPERATION_MODE:
51424 case QUERY_STORE:
51425 case CURSOR_DEFAULT:
51426 case GLOBAL:
51427 case CURSOR_CLOSE_ON_COMMIT:
51428 case HOURS:
51429 case CHANGE_RETENTION:
51430 case AUTO_CLEANUP:
51431 case CHANGE_TRACKING:
51432 case AUTOMATIC_TUNING:
51433 case FORCE_LAST_GOOD_PLAN:
51434 case AUTO_UPDATE_STATISTICS_ASYNC:
51435 case AUTO_UPDATE_STATISTICS:
51436 case AUTO_SHRINK:
51437 case AUTO_CREATE_STATISTICS:
51438 case INCREMENTAL:
51439 case AUTO_CLOSE:
51440 case DATA_RETENTION:
51441 case TEMPORAL_HISTORY_RETENTION:
51442 case EDITION:
51443 case MIXED_PAGE_ALLOCATION:
51444 case DISABLED:
51445 case ALLOWED:
51446 case HADR:
51447 case MULTI_USER:
51448 case RESTRICTED_USER:
51449 case SINGLE_USER:
51450 case OFFLINE:
51451 case EMERGENCY:
51452 case SUSPEND:
51453 case DATE_CORRELATION_OPTIMIZATION:
51454 case ELASTIC_POOL:
51455 case SERVICE_OBJECTIVE:
51456 case DATABASE_NAME:
51457 case ALLOW_CONNECTIONS:
51458 case GEO:
51459 case NAMED:
51460 case DATEFIRST:
51461 case BACKUP_STORAGE_REDUNDANCY:
51462 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
51463 case SECONDARY:
51464 case FAILOVER:
51465 case DEFAULT_FULLTEXT_LANGUAGE:
51466 case DEFAULT_LANGUAGE:
51467 case INLINE:
51468 case NESTED_TRIGGERS:
51469 case TRANSFORM_NOISE_WORDS:
51470 case TWO_DIGIT_YEAR_CUTOFF:
51471 case PERSISTENT_LOG_BUFFER:
51472 case DIRECTORY_NAME:
51473 case DATEFORMAT:
51474 case DELAYED_DURABILITY:
51475 case AUTHORIZATION:
51476 case TRANSFER:
51477 case PROVIDER:
51478 case SID:
51479 case SEARCH:
51480 case MEMBER:
51481 case JSON:
51482 case IDENTIFIER_:
51483 case DELIMITED_IDENTIFIER_:
51484 {
51485 setState(6998);
51486 identifier();
51487 }
51488 break;
51489 default:
51490 throw new NoViableAltException(this);
51491 }
51492 }
51493 break;
51494 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
51495 enterOuterAlt(_localctx, 6);
51496 {
51497 setState(7001);
51498 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
51499 setState(7002);
51500 match(EQ_);
51501 setState(7004);
51502 _errHandler.sync(this);
51503 _la = _input.LA(1);
51504 if (_la==ON || _la==OFF) {
51505 {
51506 setState(7003);
51507 _la = _input.LA(1);
51508 if ( !(_la==ON || _la==OFF) ) {
51509 _errHandler.recoverInline(this);
51510 }
51511 else {
51512 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51513 _errHandler.reportMatch(this);
51514 consume();
51515 }
51516 }
51517 }
51518
51519 }
51520 break;
51521 default:
51522 throw new NoViableAltException(this);
51523 }
51524 }
51525 catch (RecognitionException re) {
51526 _localctx.exception = re;
51527 _errHandler.reportError(this, re);
51528 _errHandler.recover(this, re);
51529 }
51530 finally {
51531 exitRule();
51532 }
51533 return _localctx;
51534 }
51535
51536 public static class CreateRoleContext extends ParserRuleContext {
51537 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
51538 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51539 public List<NameContext> name() {
51540 return getRuleContexts(NameContext.class);
51541 }
51542 public NameContext name(int i) {
51543 return getRuleContext(NameContext.class,i);
51544 }
51545 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
51546 public CreateRoleContext(ParserRuleContext parent, int invokingState) {
51547 super(parent, invokingState);
51548 }
51549 @Override public int getRuleIndex() { return RULE_createRole; }
51550 @Override
51551 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51552 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRole(this);
51553 else return visitor.visitChildren(this);
51554 }
51555 }
51556
51557 public final CreateRoleContext createRole() throws RecognitionException {
51558 CreateRoleContext _localctx = new CreateRoleContext(_ctx, getState());
51559 enterRule(_localctx, 956, RULE_createRole);
51560 int _la;
51561 try {
51562 enterOuterAlt(_localctx, 1);
51563 {
51564 setState(7008);
51565 match(CREATE);
51566 setState(7009);
51567 match(ROLE);
51568 setState(7010);
51569 name();
51570 setState(7013);
51571 _errHandler.sync(this);
51572 _la = _input.LA(1);
51573 if (_la==AUTHORIZATION) {
51574 {
51575 setState(7011);
51576 match(AUTHORIZATION);
51577 setState(7012);
51578 name();
51579 }
51580 }
51581
51582 }
51583 }
51584 catch (RecognitionException re) {
51585 _localctx.exception = re;
51586 _errHandler.reportError(this, re);
51587 _errHandler.recover(this, re);
51588 }
51589 finally {
51590 exitRule();
51591 }
51592 return _localctx;
51593 }
51594
51595 public static class DropRoleContext extends ParserRuleContext {
51596 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51597 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51598 public NameContext name() {
51599 return getRuleContext(NameContext.class,0);
51600 }
51601 public IfExistsContext ifExists() {
51602 return getRuleContext(IfExistsContext.class,0);
51603 }
51604 public DropRoleContext(ParserRuleContext parent, int invokingState) {
51605 super(parent, invokingState);
51606 }
51607 @Override public int getRuleIndex() { return RULE_dropRole; }
51608 @Override
51609 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51610 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropRole(this);
51611 else return visitor.visitChildren(this);
51612 }
51613 }
51614
51615 public final DropRoleContext dropRole() throws RecognitionException {
51616 DropRoleContext _localctx = new DropRoleContext(_ctx, getState());
51617 enterRule(_localctx, 958, RULE_dropRole);
51618 int _la;
51619 try {
51620 enterOuterAlt(_localctx, 1);
51621 {
51622 setState(7015);
51623 match(DROP);
51624 setState(7016);
51625 match(ROLE);
51626 setState(7018);
51627 _errHandler.sync(this);
51628 _la = _input.LA(1);
51629 if (_la==IF) {
51630 {
51631 setState(7017);
51632 ifExists();
51633 }
51634 }
51635
51636 setState(7020);
51637 name();
51638 }
51639 }
51640 catch (RecognitionException re) {
51641 _localctx.exception = re;
51642 _errHandler.reportError(this, re);
51643 _errHandler.recover(this, re);
51644 }
51645 finally {
51646 exitRule();
51647 }
51648 return _localctx;
51649 }
51650
51651 public static class AlterRoleContext extends ParserRuleContext {
51652 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
51653 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51654 public List<NameContext> name() {
51655 return getRuleContexts(NameContext.class);
51656 }
51657 public NameContext name(int i) {
51658 return getRuleContext(NameContext.class,i);
51659 }
51660 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
51661 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
51662 public PrincipalContext principal() {
51663 return getRuleContext(PrincipalContext.class,0);
51664 }
51665 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51666 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51667 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
51668 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51669 public AlterRoleContext(ParserRuleContext parent, int invokingState) {
51670 super(parent, invokingState);
51671 }
51672 @Override public int getRuleIndex() { return RULE_alterRole; }
51673 @Override
51674 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51675 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterRole(this);
51676 else return visitor.visitChildren(this);
51677 }
51678 }
51679
51680 public final AlterRoleContext alterRole() throws RecognitionException {
51681 AlterRoleContext _localctx = new AlterRoleContext(_ctx, getState());
51682 enterRule(_localctx, 960, RULE_alterRole);
51683 try {
51684 enterOuterAlt(_localctx, 1);
51685 {
51686 setState(7022);
51687 match(ALTER);
51688 setState(7023);
51689 match(ROLE);
51690 setState(7024);
51691 name();
51692 setState(7035);
51693 _errHandler.sync(this);
51694 switch (_input.LA(1)) {
51695 case ADD:
51696 {
51697 setState(7025);
51698 match(ADD);
51699 setState(7026);
51700 match(MEMBER);
51701 setState(7027);
51702 principal();
51703 }
51704 break;
51705 case DROP:
51706 {
51707 setState(7028);
51708 match(DROP);
51709 setState(7029);
51710 match(MEMBER);
51711 setState(7030);
51712 principal();
51713 }
51714 break;
51715 case WITH:
51716 {
51717 setState(7031);
51718 match(WITH);
51719 setState(7032);
51720 match(NAME);
51721 setState(7033);
51722 match(EQ_);
51723 setState(7034);
51724 name();
51725 }
51726 break;
51727 default:
51728 throw new NoViableAltException(this);
51729 }
51730 }
51731 }
51732 catch (RecognitionException re) {
51733 _localctx.exception = re;
51734 _errHandler.reportError(this, re);
51735 _errHandler.recover(this, re);
51736 }
51737 finally {
51738 exitRule();
51739 }
51740 return _localctx;
51741 }
51742
51743 public static class CreateLoginContext extends ParserRuleContext {
51744 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
51745 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
51746 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
51747 return getRuleContext(IgnoredNameIdentifierContext.class,0);
51748 }
51749 public CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() {
51750 return getRuleContext(CreateLoginForSQLServerClauseContext.class,0);
51751 }
51752 public CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() {
51753 return getRuleContext(CreateLoginForAzureSQLDatabaseClauseContext.class,0);
51754 }
51755 public CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() {
51756 return getRuleContext(CreateLoginForAzureManagedInstanceClauseContext.class,0);
51757 }
51758 public CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() {
51759 return getRuleContext(CreateLoginForAzureSynapseAnalyticsClauseContext.class,0);
51760 }
51761 public CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() {
51762 return getRuleContext(CreateLoginForAnalyticsPlatformSystemClauseContext.class,0);
51763 }
51764 public CreateLoginContext(ParserRuleContext parent, int invokingState) {
51765 super(parent, invokingState);
51766 }
51767 @Override public int getRuleIndex() { return RULE_createLogin; }
51768 @Override
51769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLogin(this);
51771 else return visitor.visitChildren(this);
51772 }
51773 }
51774
51775 public final CreateLoginContext createLogin() throws RecognitionException {
51776 CreateLoginContext _localctx = new CreateLoginContext(_ctx, getState());
51777 enterRule(_localctx, 962, RULE_createLogin);
51778 try {
51779 enterOuterAlt(_localctx, 1);
51780 {
51781 setState(7037);
51782 match(CREATE);
51783 setState(7038);
51784 match(LOGIN);
51785 setState(7039);
51786 ignoredNameIdentifier();
51787 setState(7045);
51788 _errHandler.sync(this);
51789 switch ( getInterpreter().adaptivePredict(_input,820,_ctx) ) {
51790 case 1:
51791 {
51792 setState(7040);
51793 createLoginForSQLServerClause();
51794 }
51795 break;
51796 case 2:
51797 {
51798 setState(7041);
51799 createLoginForAzureSQLDatabaseClause();
51800 }
51801 break;
51802 case 3:
51803 {
51804 setState(7042);
51805 createLoginForAzureManagedInstanceClause();
51806 }
51807 break;
51808 case 4:
51809 {
51810 setState(7043);
51811 createLoginForAzureSynapseAnalyticsClause();
51812 }
51813 break;
51814 case 5:
51815 {
51816 setState(7044);
51817 createLoginForAnalyticsPlatformSystemClause();
51818 }
51819 break;
51820 }
51821 }
51822 }
51823 catch (RecognitionException re) {
51824 _localctx.exception = re;
51825 _errHandler.reportError(this, re);
51826 _errHandler.recover(this, re);
51827 }
51828 finally {
51829 exitRule();
51830 }
51831 return _localctx;
51832 }
51833
51834 public static class CreateLoginForSQLServerClauseContext extends ParserRuleContext {
51835 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51836 public CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() {
51837 return getRuleContext(CreateLoginForSQLServerOptionListContext.class,0);
51838 }
51839 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51840 public SourcesContext sources() {
51841 return getRuleContext(SourcesContext.class,0);
51842 }
51843 public CreateLoginForSQLServerClauseContext(ParserRuleContext parent, int invokingState) {
51844 super(parent, invokingState);
51845 }
51846 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerClause; }
51847 @Override
51848 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51849 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerClause(this);
51850 else return visitor.visitChildren(this);
51851 }
51852 }
51853
51854 public final CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() throws RecognitionException {
51855 CreateLoginForSQLServerClauseContext _localctx = new CreateLoginForSQLServerClauseContext(_ctx, getState());
51856 enterRule(_localctx, 964, RULE_createLoginForSQLServerClause);
51857 try {
51858 setState(7051);
51859 _errHandler.sync(this);
51860 switch (_input.LA(1)) {
51861 case WITH:
51862 enterOuterAlt(_localctx, 1);
51863 {
51864 setState(7047);
51865 match(WITH);
51866 setState(7048);
51867 createLoginForSQLServerOptionList();
51868 }
51869 break;
51870 case FROM:
51871 enterOuterAlt(_localctx, 2);
51872 {
51873 setState(7049);
51874 match(FROM);
51875 setState(7050);
51876 sources();
51877 }
51878 break;
51879 default:
51880 throw new NoViableAltException(this);
51881 }
51882 }
51883 catch (RecognitionException re) {
51884 _localctx.exception = re;
51885 _errHandler.reportError(this, re);
51886 _errHandler.recover(this, re);
51887 }
51888 finally {
51889 exitRule();
51890 }
51891 return _localctx;
51892 }
51893
51894 public static class CreateLoginForSQLServerOptionListContext extends ParserRuleContext {
51895 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51896 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51897 public StringLiteralsContext stringLiterals() {
51898 return getRuleContext(StringLiteralsContext.class,0);
51899 }
51900 public HashedPasswordContext hashedPassword() {
51901 return getRuleContext(HashedPasswordContext.class,0);
51902 }
51903 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
51904 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51905 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51906 public TerminalNode COMMA_(int i) {
51907 return getToken(SQLServerStatementParser.COMMA_, i);
51908 }
51909 public List<CreateLoginForSQLServerOptionListClauseContext> createLoginForSQLServerOptionListClause() {
51910 return getRuleContexts(CreateLoginForSQLServerOptionListClauseContext.class);
51911 }
51912 public CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause(int i) {
51913 return getRuleContext(CreateLoginForSQLServerOptionListClauseContext.class,i);
51914 }
51915 public CreateLoginForSQLServerOptionListContext(ParserRuleContext parent, int invokingState) {
51916 super(parent, invokingState);
51917 }
51918 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionList; }
51919 @Override
51920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionList(this);
51922 else return visitor.visitChildren(this);
51923 }
51924 }
51925
51926 public final CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() throws RecognitionException {
51927 CreateLoginForSQLServerOptionListContext _localctx = new CreateLoginForSQLServerOptionListContext(_ctx, getState());
51928 enterRule(_localctx, 966, RULE_createLoginForSQLServerOptionList);
51929 int _la;
51930 try {
51931 enterOuterAlt(_localctx, 1);
51932 {
51933 setState(7053);
51934 match(PASSWORD);
51935 setState(7054);
51936 match(EQ_);
51937 setState(7059);
51938 _errHandler.sync(this);
51939 switch (_input.LA(1)) {
51940 case STRING_:
51941 case NCHAR_TEXT:
51942 {
51943 setState(7055);
51944 stringLiterals();
51945 }
51946 break;
51947 case HEX_DIGIT_:
51948 {
51949 setState(7056);
51950 hashedPassword();
51951 setState(7057);
51952 match(HASHED);
51953 }
51954 break;
51955 default:
51956 throw new NoViableAltException(this);
51957 }
51958 setState(7062);
51959 _errHandler.sync(this);
51960 _la = _input.LA(1);
51961 if (_la==MUST_CHANGE) {
51962 {
51963 setState(7061);
51964 match(MUST_CHANGE);
51965 }
51966 }
51967
51968 setState(7073);
51969 _errHandler.sync(this);
51970 _la = _input.LA(1);
51971 if (_la==COMMA_) {
51972 {
51973 setState(7064);
51974 match(COMMA_);
51975 setState(7065);
51976 createLoginForSQLServerOptionListClause();
51977 setState(7070);
51978 _errHandler.sync(this);
51979 _la = _input.LA(1);
51980 while (_la==COMMA_) {
51981 {
51982 {
51983 setState(7066);
51984 match(COMMA_);
51985 setState(7067);
51986 createLoginForSQLServerOptionListClause();
51987 }
51988 }
51989 setState(7072);
51990 _errHandler.sync(this);
51991 _la = _input.LA(1);
51992 }
51993 }
51994 }
51995
51996 }
51997 }
51998 catch (RecognitionException re) {
51999 _localctx.exception = re;
52000 _errHandler.reportError(this, re);
52001 _errHandler.recover(this, re);
52002 }
52003 finally {
52004 exitRule();
52005 }
52006 return _localctx;
52007 }
52008
52009 public static class CreateLoginForSQLServerOptionListClauseContext extends ParserRuleContext {
52010 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52011 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52012 public SidContext sid() {
52013 return getRuleContext(SidContext.class,0);
52014 }
52015 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52016 public DatabaseNameContext databaseName() {
52017 return getRuleContext(DatabaseNameContext.class,0);
52018 }
52019 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52020 public IdentifierContext identifier() {
52021 return getRuleContext(IdentifierContext.class,0);
52022 }
52023 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
52024 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
52025 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
52026 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
52027 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
52028 public CreateLoginForSQLServerOptionListClauseContext(ParserRuleContext parent, int invokingState) {
52029 super(parent, invokingState);
52030 }
52031 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionListClause; }
52032 @Override
52033 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52034 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionListClause(this);
52035 else return visitor.visitChildren(this);
52036 }
52037 }
52038
52039 public final CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause() throws RecognitionException {
52040 CreateLoginForSQLServerOptionListClauseContext _localctx = new CreateLoginForSQLServerOptionListClauseContext(_ctx, getState());
52041 enterRule(_localctx, 968, RULE_createLoginForSQLServerOptionListClause);
52042 int _la;
52043 try {
52044 setState(7093);
52045 _errHandler.sync(this);
52046 switch (_input.LA(1)) {
52047 case SID:
52048 enterOuterAlt(_localctx, 1);
52049 {
52050 setState(7075);
52051 match(SID);
52052 setState(7076);
52053 match(EQ_);
52054 setState(7077);
52055 sid();
52056 }
52057 break;
52058 case DEFAULT_DATABASE:
52059 enterOuterAlt(_localctx, 2);
52060 {
52061 setState(7078);
52062 match(DEFAULT_DATABASE);
52063 setState(7079);
52064 match(EQ_);
52065 setState(7080);
52066 databaseName();
52067 }
52068 break;
52069 case DEFAULT_LANGUAGE:
52070 enterOuterAlt(_localctx, 3);
52071 {
52072 setState(7081);
52073 match(DEFAULT_LANGUAGE);
52074 setState(7082);
52075 match(EQ_);
52076 setState(7083);
52077 identifier();
52078 }
52079 break;
52080 case CHECK_EXPIRATION:
52081 enterOuterAlt(_localctx, 4);
52082 {
52083 setState(7084);
52084 match(CHECK_EXPIRATION);
52085 setState(7085);
52086 match(EQ_);
52087 setState(7086);
52088 _la = _input.LA(1);
52089 if ( !(_la==ON || _la==OFF) ) {
52090 _errHandler.recoverInline(this);
52091 }
52092 else {
52093 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52094 _errHandler.reportMatch(this);
52095 consume();
52096 }
52097 }
52098 break;
52099 case CHECK_POLICY:
52100 enterOuterAlt(_localctx, 5);
52101 {
52102 setState(7087);
52103 match(CHECK_POLICY);
52104 setState(7088);
52105 match(EQ_);
52106 setState(7089);
52107 _la = _input.LA(1);
52108 if ( !(_la==ON || _la==OFF) ) {
52109 _errHandler.recoverInline(this);
52110 }
52111 else {
52112 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52113 _errHandler.reportMatch(this);
52114 consume();
52115 }
52116 }
52117 break;
52118 case CREDENTIAL:
52119 enterOuterAlt(_localctx, 6);
52120 {
52121 setState(7090);
52122 match(CREDENTIAL);
52123 setState(7091);
52124 match(EQ_);
52125 setState(7092);
52126 identifier();
52127 }
52128 break;
52129 default:
52130 throw new NoViableAltException(this);
52131 }
52132 }
52133 catch (RecognitionException re) {
52134 _localctx.exception = re;
52135 _errHandler.reportError(this, re);
52136 _errHandler.recover(this, re);
52137 }
52138 finally {
52139 exitRule();
52140 }
52141 return _localctx;
52142 }
52143
52144 public static class HashedPasswordContext extends ParserRuleContext {
52145 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
52146 public HashedPasswordContext(ParserRuleContext parent, int invokingState) {
52147 super(parent, invokingState);
52148 }
52149 @Override public int getRuleIndex() { return RULE_hashedPassword; }
52150 @Override
52151 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52152 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashedPassword(this);
52153 else return visitor.visitChildren(this);
52154 }
52155 }
52156
52157 public final HashedPasswordContext hashedPassword() throws RecognitionException {
52158 HashedPasswordContext _localctx = new HashedPasswordContext(_ctx, getState());
52159 enterRule(_localctx, 970, RULE_hashedPassword);
52160 try {
52161 enterOuterAlt(_localctx, 1);
52162 {
52163 setState(7095);
52164 match(HEX_DIGIT_);
52165 }
52166 }
52167 catch (RecognitionException re) {
52168 _localctx.exception = re;
52169 _errHandler.reportError(this, re);
52170 _errHandler.recover(this, re);
52171 }
52172 finally {
52173 exitRule();
52174 }
52175 return _localctx;
52176 }
52177
52178 public static class SidContext extends ParserRuleContext {
52179 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
52180 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
52181 public SidContext(ParserRuleContext parent, int invokingState) {
52182 super(parent, invokingState);
52183 }
52184 @Override public int getRuleIndex() { return RULE_sid; }
52185 @Override
52186 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52187 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSid(this);
52188 else return visitor.visitChildren(this);
52189 }
52190 }
52191
52192 public final SidContext sid() throws RecognitionException {
52193 SidContext _localctx = new SidContext(_ctx, getState());
52194 enterRule(_localctx, 972, RULE_sid);
52195 int _la;
52196 try {
52197 enterOuterAlt(_localctx, 1);
52198 {
52199 setState(7097);
52200 _la = _input.LA(1);
52201 if ( !(_la==HEX_DIGIT_ || _la==NCHAR_TEXT) ) {
52202 _errHandler.recoverInline(this);
52203 }
52204 else {
52205 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52206 _errHandler.reportMatch(this);
52207 consume();
52208 }
52209 }
52210 }
52211 catch (RecognitionException re) {
52212 _localctx.exception = re;
52213 _errHandler.reportError(this, re);
52214 _errHandler.recover(this, re);
52215 }
52216 finally {
52217 exitRule();
52218 }
52219 return _localctx;
52220 }
52221
52222 public static class SourcesContext extends ParserRuleContext {
52223 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
52224 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52225 public List<WindowsOptionsContext> windowsOptions() {
52226 return getRuleContexts(WindowsOptionsContext.class);
52227 }
52228 public WindowsOptionsContext windowsOptions(int i) {
52229 return getRuleContext(WindowsOptionsContext.class,i);
52230 }
52231 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52232 public TerminalNode COMMA_(int i) {
52233 return getToken(SQLServerStatementParser.COMMA_, i);
52234 }
52235 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
52236 public IdentifierContext identifier() {
52237 return getRuleContext(IdentifierContext.class,0);
52238 }
52239 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
52240 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
52241 public SourcesContext(ParserRuleContext parent, int invokingState) {
52242 super(parent, invokingState);
52243 }
52244 @Override public int getRuleIndex() { return RULE_sources; }
52245 @Override
52246 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52247 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSources(this);
52248 else return visitor.visitChildren(this);
52249 }
52250 }
52251
52252 public final SourcesContext sources() throws RecognitionException {
52253 SourcesContext _localctx = new SourcesContext(_ctx, getState());
52254 enterRule(_localctx, 974, RULE_sources);
52255 int _la;
52256 try {
52257 setState(7116);
52258 _errHandler.sync(this);
52259 switch (_input.LA(1)) {
52260 case WINDOWS:
52261 enterOuterAlt(_localctx, 1);
52262 {
52263 setState(7099);
52264 match(WINDOWS);
52265 setState(7109);
52266 _errHandler.sync(this);
52267 _la = _input.LA(1);
52268 if (_la==WITH) {
52269 {
52270 setState(7100);
52271 match(WITH);
52272 setState(7101);
52273 windowsOptions();
52274 setState(7106);
52275 _errHandler.sync(this);
52276 _la = _input.LA(1);
52277 while (_la==COMMA_) {
52278 {
52279 {
52280 setState(7102);
52281 match(COMMA_);
52282 setState(7103);
52283 windowsOptions();
52284 }
52285 }
52286 setState(7108);
52287 _errHandler.sync(this);
52288 _la = _input.LA(1);
52289 }
52290 }
52291 }
52292
52293 }
52294 break;
52295 case CERTIFICATE:
52296 enterOuterAlt(_localctx, 2);
52297 {
52298 setState(7111);
52299 match(CERTIFICATE);
52300 setState(7112);
52301 identifier();
52302 }
52303 break;
52304 case ASYMMETRIC:
52305 enterOuterAlt(_localctx, 3);
52306 {
52307 setState(7113);
52308 match(ASYMMETRIC);
52309 setState(7114);
52310 match(KEY);
52311 setState(7115);
52312 identifier();
52313 }
52314 break;
52315 default:
52316 throw new NoViableAltException(this);
52317 }
52318 }
52319 catch (RecognitionException re) {
52320 _localctx.exception = re;
52321 _errHandler.reportError(this, re);
52322 _errHandler.recover(this, re);
52323 }
52324 finally {
52325 exitRule();
52326 }
52327 return _localctx;
52328 }
52329
52330 public static class WindowsOptionsContext extends ParserRuleContext {
52331 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52332 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52333 public DatabaseNameContext databaseName() {
52334 return getRuleContext(DatabaseNameContext.class,0);
52335 }
52336 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52337 public IdentifierContext identifier() {
52338 return getRuleContext(IdentifierContext.class,0);
52339 }
52340 public WindowsOptionsContext(ParserRuleContext parent, int invokingState) {
52341 super(parent, invokingState);
52342 }
52343 @Override public int getRuleIndex() { return RULE_windowsOptions; }
52344 @Override
52345 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52346 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsOptions(this);
52347 else return visitor.visitChildren(this);
52348 }
52349 }
52350
52351 public final WindowsOptionsContext windowsOptions() throws RecognitionException {
52352 WindowsOptionsContext _localctx = new WindowsOptionsContext(_ctx, getState());
52353 enterRule(_localctx, 976, RULE_windowsOptions);
52354 try {
52355 setState(7124);
52356 _errHandler.sync(this);
52357 switch (_input.LA(1)) {
52358 case DEFAULT_DATABASE:
52359 enterOuterAlt(_localctx, 1);
52360 {
52361 setState(7118);
52362 match(DEFAULT_DATABASE);
52363 setState(7119);
52364 match(EQ_);
52365 setState(7120);
52366 databaseName();
52367 }
52368 break;
52369 case DEFAULT_LANGUAGE:
52370 enterOuterAlt(_localctx, 2);
52371 {
52372 setState(7121);
52373 match(DEFAULT_LANGUAGE);
52374 setState(7122);
52375 match(EQ_);
52376 setState(7123);
52377 identifier();
52378 }
52379 break;
52380 default:
52381 throw new NoViableAltException(this);
52382 }
52383 }
52384 catch (RecognitionException re) {
52385 _localctx.exception = re;
52386 _errHandler.reportError(this, re);
52387 _errHandler.recover(this, re);
52388 }
52389 finally {
52390 exitRule();
52391 }
52392 return _localctx;
52393 }
52394
52395 public static class CreateLoginForAzureSQLDatabaseClauseContext extends ParserRuleContext {
52396 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52397 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
52398 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
52399 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52400 public List<CreateLoginForAzureSQLDatabaseOptionListContext> createLoginForAzureSQLDatabaseOptionList() {
52401 return getRuleContexts(CreateLoginForAzureSQLDatabaseOptionListContext.class);
52402 }
52403 public CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList(int i) {
52404 return getRuleContext(CreateLoginForAzureSQLDatabaseOptionListContext.class,i);
52405 }
52406 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52407 public TerminalNode COMMA_(int i) {
52408 return getToken(SQLServerStatementParser.COMMA_, i);
52409 }
52410 public CreateLoginForAzureSQLDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
52411 super(parent, invokingState);
52412 }
52413 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseClause; }
52414 @Override
52415 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52416 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseClause(this);
52417 else return visitor.visitChildren(this);
52418 }
52419 }
52420
52421 public final CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() throws RecognitionException {
52422 CreateLoginForAzureSQLDatabaseClauseContext _localctx = new CreateLoginForAzureSQLDatabaseClauseContext(_ctx, getState());
52423 enterRule(_localctx, 978, RULE_createLoginForAzureSQLDatabaseClause);
52424 int _la;
52425 try {
52426 setState(7138);
52427 _errHandler.sync(this);
52428 switch (_input.LA(1)) {
52429 case FROM:
52430 enterOuterAlt(_localctx, 1);
52431 {
52432 setState(7126);
52433 match(FROM);
52434 setState(7127);
52435 match(EXTERNAL);
52436 setState(7128);
52437 match(PROVIDER);
52438 }
52439 break;
52440 case WITH:
52441 enterOuterAlt(_localctx, 2);
52442 {
52443 setState(7129);
52444 match(WITH);
52445 setState(7130);
52446 createLoginForAzureSQLDatabaseOptionList();
52447 setState(7135);
52448 _errHandler.sync(this);
52449 _la = _input.LA(1);
52450 while (_la==COMMA_) {
52451 {
52452 {
52453 setState(7131);
52454 match(COMMA_);
52455 setState(7132);
52456 createLoginForAzureSQLDatabaseOptionList();
52457 }
52458 }
52459 setState(7137);
52460 _errHandler.sync(this);
52461 _la = _input.LA(1);
52462 }
52463 }
52464 break;
52465 default:
52466 throw new NoViableAltException(this);
52467 }
52468 }
52469 catch (RecognitionException re) {
52470 _localctx.exception = re;
52471 _errHandler.reportError(this, re);
52472 _errHandler.recover(this, re);
52473 }
52474 finally {
52475 exitRule();
52476 }
52477 return _localctx;
52478 }
52479
52480 public static class CreateLoginForAzureSQLDatabaseOptionListContext extends ParserRuleContext {
52481 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52482 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
52483 public TerminalNode EQ_(int i) {
52484 return getToken(SQLServerStatementParser.EQ_, i);
52485 }
52486 public StringLiteralsContext stringLiterals() {
52487 return getRuleContext(StringLiteralsContext.class,0);
52488 }
52489 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
52490 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52491 public SidContext sid() {
52492 return getRuleContext(SidContext.class,0);
52493 }
52494 public CreateLoginForAzureSQLDatabaseOptionListContext(ParserRuleContext parent, int invokingState) {
52495 super(parent, invokingState);
52496 }
52497 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseOptionList; }
52498 @Override
52499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52500 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseOptionList(this);
52501 else return visitor.visitChildren(this);
52502 }
52503 }
52504
52505 public final CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList() throws RecognitionException {
52506 CreateLoginForAzureSQLDatabaseOptionListContext _localctx = new CreateLoginForAzureSQLDatabaseOptionListContext(_ctx, getState());
52507 enterRule(_localctx, 980, RULE_createLoginForAzureSQLDatabaseOptionList);
52508 try {
52509 enterOuterAlt(_localctx, 1);
52510 {
52511 setState(7140);
52512 match(PASSWORD);
52513 setState(7141);
52514 match(EQ_);
52515 setState(7142);
52516 stringLiterals();
52517 setState(7147);
52518 _errHandler.sync(this);
52519 switch ( getInterpreter().adaptivePredict(_input,833,_ctx) ) {
52520 case 1:
52521 {
52522 setState(7143);
52523 match(COMMA_);
52524 setState(7144);
52525 match(SID);
52526 setState(7145);
52527 match(EQ_);
52528 setState(7146);
52529 sid();
52530 }
52531 break;
52532 }
52533 }
52534 }
52535 catch (RecognitionException re) {
52536 _localctx.exception = re;
52537 _errHandler.reportError(this, re);
52538 _errHandler.recover(this, re);
52539 }
52540 finally {
52541 exitRule();
52542 }
52543 return _localctx;
52544 }
52545
52546 public static class CreateLoginForAzureManagedInstanceClauseContext extends ParserRuleContext {
52547 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52548 public List<AzureManagedInstanceOptionListContext> azureManagedInstanceOptionList() {
52549 return getRuleContexts(AzureManagedInstanceOptionListContext.class);
52550 }
52551 public AzureManagedInstanceOptionListContext azureManagedInstanceOptionList(int i) {
52552 return getRuleContext(AzureManagedInstanceOptionListContext.class,i);
52553 }
52554 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52555 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
52556 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
52557 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52558 public TerminalNode COMMA_(int i) {
52559 return getToken(SQLServerStatementParser.COMMA_, i);
52560 }
52561 public CreateLoginForAzureManagedInstanceClauseContext(ParserRuleContext parent, int invokingState) {
52562 super(parent, invokingState);
52563 }
52564 @Override public int getRuleIndex() { return RULE_createLoginForAzureManagedInstanceClause; }
52565 @Override
52566 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52567 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureManagedInstanceClause(this);
52568 else return visitor.visitChildren(this);
52569 }
52570 }
52571
52572 public final CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() throws RecognitionException {
52573 CreateLoginForAzureManagedInstanceClauseContext _localctx = new CreateLoginForAzureManagedInstanceClauseContext(_ctx, getState());
52574 enterRule(_localctx, 982, RULE_createLoginForAzureManagedInstanceClause);
52575 int _la;
52576 try {
52577 enterOuterAlt(_localctx, 1);
52578 {
52579 setState(7152);
52580 _errHandler.sync(this);
52581 _la = _input.LA(1);
52582 if (_la==FROM) {
52583 {
52584 setState(7149);
52585 match(FROM);
52586 setState(7150);
52587 match(EXTERNAL);
52588 setState(7151);
52589 match(PROVIDER);
52590 }
52591 }
52592
52593 setState(7154);
52594 match(WITH);
52595 setState(7155);
52596 azureManagedInstanceOptionList();
52597 setState(7160);
52598 _errHandler.sync(this);
52599 _la = _input.LA(1);
52600 while (_la==COMMA_) {
52601 {
52602 {
52603 setState(7156);
52604 match(COMMA_);
52605 setState(7157);
52606 azureManagedInstanceOptionList();
52607 }
52608 }
52609 setState(7162);
52610 _errHandler.sync(this);
52611 _la = _input.LA(1);
52612 }
52613 }
52614 }
52615 catch (RecognitionException re) {
52616 _localctx.exception = re;
52617 _errHandler.reportError(this, re);
52618 _errHandler.recover(this, re);
52619 }
52620 finally {
52621 exitRule();
52622 }
52623 return _localctx;
52624 }
52625
52626 public static class AzureManagedInstanceOptionListContext extends ParserRuleContext {
52627 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52628 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52629 public StringLiteralsContext stringLiterals() {
52630 return getRuleContext(StringLiteralsContext.class,0);
52631 }
52632 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52633 public SidContext sid() {
52634 return getRuleContext(SidContext.class,0);
52635 }
52636 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52637 public DatabaseNameContext databaseName() {
52638 return getRuleContext(DatabaseNameContext.class,0);
52639 }
52640 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52641 public IdentifierContext identifier() {
52642 return getRuleContext(IdentifierContext.class,0);
52643 }
52644 public AzureManagedInstanceOptionListContext(ParserRuleContext parent, int invokingState) {
52645 super(parent, invokingState);
52646 }
52647 @Override public int getRuleIndex() { return RULE_azureManagedInstanceOptionList; }
52648 @Override
52649 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52650 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureManagedInstanceOptionList(this);
52651 else return visitor.visitChildren(this);
52652 }
52653 }
52654
52655 public final AzureManagedInstanceOptionListContext azureManagedInstanceOptionList() throws RecognitionException {
52656 AzureManagedInstanceOptionListContext _localctx = new AzureManagedInstanceOptionListContext(_ctx, getState());
52657 enterRule(_localctx, 984, RULE_azureManagedInstanceOptionList);
52658 try {
52659 setState(7175);
52660 _errHandler.sync(this);
52661 switch (_input.LA(1)) {
52662 case PASSWORD:
52663 enterOuterAlt(_localctx, 1);
52664 {
52665 setState(7163);
52666 match(PASSWORD);
52667 setState(7164);
52668 match(EQ_);
52669 setState(7165);
52670 stringLiterals();
52671 }
52672 break;
52673 case SID:
52674 enterOuterAlt(_localctx, 2);
52675 {
52676 setState(7166);
52677 match(SID);
52678 setState(7167);
52679 match(EQ_);
52680 setState(7168);
52681 sid();
52682 }
52683 break;
52684 case DEFAULT_DATABASE:
52685 enterOuterAlt(_localctx, 3);
52686 {
52687 setState(7169);
52688 match(DEFAULT_DATABASE);
52689 setState(7170);
52690 match(EQ_);
52691 setState(7171);
52692 databaseName();
52693 }
52694 break;
52695 case DEFAULT_LANGUAGE:
52696 enterOuterAlt(_localctx, 4);
52697 {
52698 setState(7172);
52699 match(DEFAULT_LANGUAGE);
52700 setState(7173);
52701 match(EQ_);
52702 setState(7174);
52703 identifier();
52704 }
52705 break;
52706 default:
52707 throw new NoViableAltException(this);
52708 }
52709 }
52710 catch (RecognitionException re) {
52711 _localctx.exception = re;
52712 _errHandler.reportError(this, re);
52713 _errHandler.recover(this, re);
52714 }
52715 finally {
52716 exitRule();
52717 }
52718 return _localctx;
52719 }
52720
52721 public static class CreateLoginForAzureSynapseAnalyticsClauseContext extends ParserRuleContext {
52722 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52723 public CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() {
52724 return getRuleContext(CreateLoginForAzureSynapseAnalyticsOptionListContext.class,0);
52725 }
52726 public CreateLoginForAzureSynapseAnalyticsClauseContext(ParserRuleContext parent, int invokingState) {
52727 super(parent, invokingState);
52728 }
52729 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsClause; }
52730 @Override
52731 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52732 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsClause(this);
52733 else return visitor.visitChildren(this);
52734 }
52735 }
52736
52737 public final CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() throws RecognitionException {
52738 CreateLoginForAzureSynapseAnalyticsClauseContext _localctx = new CreateLoginForAzureSynapseAnalyticsClauseContext(_ctx, getState());
52739 enterRule(_localctx, 986, RULE_createLoginForAzureSynapseAnalyticsClause);
52740 try {
52741 enterOuterAlt(_localctx, 1);
52742 {
52743 setState(7177);
52744 match(WITH);
52745 setState(7178);
52746 createLoginForAzureSynapseAnalyticsOptionList();
52747 }
52748 }
52749 catch (RecognitionException re) {
52750 _localctx.exception = re;
52751 _errHandler.reportError(this, re);
52752 _errHandler.recover(this, re);
52753 }
52754 finally {
52755 exitRule();
52756 }
52757 return _localctx;
52758 }
52759
52760 public static class CreateLoginForAzureSynapseAnalyticsOptionListContext extends ParserRuleContext {
52761 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52762 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
52763 public TerminalNode EQ_(int i) {
52764 return getToken(SQLServerStatementParser.EQ_, i);
52765 }
52766 public StringLiteralsContext stringLiterals() {
52767 return getRuleContext(StringLiteralsContext.class,0);
52768 }
52769 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
52770 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52771 public SidContext sid() {
52772 return getRuleContext(SidContext.class,0);
52773 }
52774 public CreateLoginForAzureSynapseAnalyticsOptionListContext(ParserRuleContext parent, int invokingState) {
52775 super(parent, invokingState);
52776 }
52777 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsOptionList; }
52778 @Override
52779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsOptionList(this);
52781 else return visitor.visitChildren(this);
52782 }
52783 }
52784
52785 public final CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() throws RecognitionException {
52786 CreateLoginForAzureSynapseAnalyticsOptionListContext _localctx = new CreateLoginForAzureSynapseAnalyticsOptionListContext(_ctx, getState());
52787 enterRule(_localctx, 988, RULE_createLoginForAzureSynapseAnalyticsOptionList);
52788 int _la;
52789 try {
52790 enterOuterAlt(_localctx, 1);
52791 {
52792 setState(7180);
52793 match(PASSWORD);
52794 setState(7181);
52795 match(EQ_);
52796 setState(7182);
52797 stringLiterals();
52798 setState(7187);
52799 _errHandler.sync(this);
52800 _la = _input.LA(1);
52801 if (_la==COMMA_) {
52802 {
52803 setState(7183);
52804 match(COMMA_);
52805 setState(7184);
52806 match(SID);
52807 setState(7185);
52808 match(EQ_);
52809 setState(7186);
52810 sid();
52811 }
52812 }
52813
52814 }
52815 }
52816 catch (RecognitionException re) {
52817 _localctx.exception = re;
52818 _errHandler.reportError(this, re);
52819 _errHandler.recover(this, re);
52820 }
52821 finally {
52822 exitRule();
52823 }
52824 return _localctx;
52825 }
52826
52827 public static class CreateLoginForAnalyticsPlatformSystemClauseContext extends ParserRuleContext {
52828 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52829 public CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() {
52830 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListContext.class,0);
52831 }
52832 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52833 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
52834 public CreateLoginForAnalyticsPlatformSystemClauseContext(ParserRuleContext parent, int invokingState) {
52835 super(parent, invokingState);
52836 }
52837 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemClause; }
52838 @Override
52839 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52840 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemClause(this);
52841 else return visitor.visitChildren(this);
52842 }
52843 }
52844
52845 public final CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() throws RecognitionException {
52846 CreateLoginForAnalyticsPlatformSystemClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemClauseContext(_ctx, getState());
52847 enterRule(_localctx, 990, RULE_createLoginForAnalyticsPlatformSystemClause);
52848 try {
52849 setState(7193);
52850 _errHandler.sync(this);
52851 switch (_input.LA(1)) {
52852 case WITH:
52853 enterOuterAlt(_localctx, 1);
52854 {
52855 setState(7189);
52856 match(WITH);
52857 setState(7190);
52858 createLoginForAnalyticsPlatformSystemOptionList();
52859 }
52860 break;
52861 case FROM:
52862 enterOuterAlt(_localctx, 2);
52863 {
52864 setState(7191);
52865 match(FROM);
52866 setState(7192);
52867 match(WINDOWS);
52868 }
52869 break;
52870 default:
52871 throw new NoViableAltException(this);
52872 }
52873 }
52874 catch (RecognitionException re) {
52875 _localctx.exception = re;
52876 _errHandler.reportError(this, re);
52877 _errHandler.recover(this, re);
52878 }
52879 finally {
52880 exitRule();
52881 }
52882 return _localctx;
52883 }
52884
52885 public static class CreateLoginForAnalyticsPlatformSystemOptionListContext extends ParserRuleContext {
52886 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52887 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52888 public StringLiteralsContext stringLiterals() {
52889 return getRuleContext(StringLiteralsContext.class,0);
52890 }
52891 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
52892 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52893 public TerminalNode COMMA_(int i) {
52894 return getToken(SQLServerStatementParser.COMMA_, i);
52895 }
52896 public List<CreateLoginForAnalyticsPlatformSystemOptionListClauseContext> createLoginForAnalyticsPlatformSystemOptionListClause() {
52897 return getRuleContexts(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class);
52898 }
52899 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause(int i) {
52900 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class,i);
52901 }
52902 public CreateLoginForAnalyticsPlatformSystemOptionListContext(ParserRuleContext parent, int invokingState) {
52903 super(parent, invokingState);
52904 }
52905 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionList; }
52906 @Override
52907 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52908 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionList(this);
52909 else return visitor.visitChildren(this);
52910 }
52911 }
52912
52913 public final CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() throws RecognitionException {
52914 CreateLoginForAnalyticsPlatformSystemOptionListContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListContext(_ctx, getState());
52915 enterRule(_localctx, 992, RULE_createLoginForAnalyticsPlatformSystemOptionList);
52916 int _la;
52917 try {
52918 enterOuterAlt(_localctx, 1);
52919 {
52920 setState(7195);
52921 match(PASSWORD);
52922 setState(7196);
52923 match(EQ_);
52924 setState(7197);
52925 stringLiterals();
52926 setState(7199);
52927 _errHandler.sync(this);
52928 _la = _input.LA(1);
52929 if (_la==MUST_CHANGE) {
52930 {
52931 setState(7198);
52932 match(MUST_CHANGE);
52933 }
52934 }
52935
52936 setState(7210);
52937 _errHandler.sync(this);
52938 _la = _input.LA(1);
52939 if (_la==COMMA_) {
52940 {
52941 setState(7201);
52942 match(COMMA_);
52943 setState(7202);
52944 createLoginForAnalyticsPlatformSystemOptionListClause();
52945 setState(7207);
52946 _errHandler.sync(this);
52947 _la = _input.LA(1);
52948 while (_la==COMMA_) {
52949 {
52950 {
52951 setState(7203);
52952 match(COMMA_);
52953 setState(7204);
52954 createLoginForAnalyticsPlatformSystemOptionListClause();
52955 }
52956 }
52957 setState(7209);
52958 _errHandler.sync(this);
52959 _la = _input.LA(1);
52960 }
52961 }
52962 }
52963
52964 }
52965 }
52966 catch (RecognitionException re) {
52967 _localctx.exception = re;
52968 _errHandler.reportError(this, re);
52969 _errHandler.recover(this, re);
52970 }
52971 finally {
52972 exitRule();
52973 }
52974 return _localctx;
52975 }
52976
52977 public static class CreateLoginForAnalyticsPlatformSystemOptionListClauseContext extends ParserRuleContext {
52978 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
52979 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52980 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
52981 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
52982 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
52983 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(ParserRuleContext parent, int invokingState) {
52984 super(parent, invokingState);
52985 }
52986 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionListClause; }
52987 @Override
52988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionListClause(this);
52990 else return visitor.visitChildren(this);
52991 }
52992 }
52993
52994 public final CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause() throws RecognitionException {
52995 CreateLoginForAnalyticsPlatformSystemOptionListClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(_ctx, getState());
52996 enterRule(_localctx, 994, RULE_createLoginForAnalyticsPlatformSystemOptionListClause);
52997 int _la;
52998 try {
52999 setState(7218);
53000 _errHandler.sync(this);
53001 switch (_input.LA(1)) {
53002 case CHECK_EXPIRATION:
53003 enterOuterAlt(_localctx, 1);
53004 {
53005 setState(7212);
53006 match(CHECK_EXPIRATION);
53007 setState(7213);
53008 match(EQ_);
53009 setState(7214);
53010 _la = _input.LA(1);
53011 if ( !(_la==ON || _la==OFF) ) {
53012 _errHandler.recoverInline(this);
53013 }
53014 else {
53015 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53016 _errHandler.reportMatch(this);
53017 consume();
53018 }
53019 }
53020 break;
53021 case CHECK_POLICY:
53022 enterOuterAlt(_localctx, 2);
53023 {
53024 setState(7215);
53025 match(CHECK_POLICY);
53026 setState(7216);
53027 match(EQ_);
53028 setState(7217);
53029 _la = _input.LA(1);
53030 if ( !(_la==ON || _la==OFF) ) {
53031 _errHandler.recoverInline(this);
53032 }
53033 else {
53034 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53035 _errHandler.reportMatch(this);
53036 consume();
53037 }
53038 }
53039 break;
53040 default:
53041 throw new NoViableAltException(this);
53042 }
53043 }
53044 catch (RecognitionException re) {
53045 _localctx.exception = re;
53046 _errHandler.reportError(this, re);
53047 _errHandler.recover(this, re);
53048 }
53049 finally {
53050 exitRule();
53051 }
53052 return _localctx;
53053 }
53054
53055 public static class DropLoginContext extends ParserRuleContext {
53056 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
53057 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
53058 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
53059 return getRuleContext(IgnoredNameIdentifierContext.class,0);
53060 }
53061 public DropLoginContext(ParserRuleContext parent, int invokingState) {
53062 super(parent, invokingState);
53063 }
53064 @Override public int getRuleIndex() { return RULE_dropLogin; }
53065 @Override
53066 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53067 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropLogin(this);
53068 else return visitor.visitChildren(this);
53069 }
53070 }
53071
53072 public final DropLoginContext dropLogin() throws RecognitionException {
53073 DropLoginContext _localctx = new DropLoginContext(_ctx, getState());
53074 enterRule(_localctx, 996, RULE_dropLogin);
53075 try {
53076 enterOuterAlt(_localctx, 1);
53077 {
53078 setState(7220);
53079 match(DROP);
53080 setState(7221);
53081 match(LOGIN);
53082 setState(7222);
53083 ignoredNameIdentifier();
53084 }
53085 }
53086 catch (RecognitionException re) {
53087 _localctx.exception = re;
53088 _errHandler.reportError(this, re);
53089 _errHandler.recover(this, re);
53090 }
53091 finally {
53092 exitRule();
53093 }
53094 return _localctx;
53095 }
53096
53097 public static class AlterLoginContext extends ParserRuleContext {
53098 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
53099 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
53100 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
53101 return getRuleContext(IgnoredNameIdentifierContext.class,0);
53102 }
53103 public StatusOptionClauseContext statusOptionClause() {
53104 return getRuleContext(StatusOptionClauseContext.class,0);
53105 }
53106 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
53107 public List<SetOptionClauseContext> setOptionClause() {
53108 return getRuleContexts(SetOptionClauseContext.class);
53109 }
53110 public SetOptionClauseContext setOptionClause(int i) {
53111 return getRuleContext(SetOptionClauseContext.class,i);
53112 }
53113 public CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() {
53114 return getRuleContext(CryptographicCredentialsOptionClauseContext.class,0);
53115 }
53116 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
53117 public TerminalNode COMMA_(int i) {
53118 return getToken(SQLServerStatementParser.COMMA_, i);
53119 }
53120 public AlterLoginContext(ParserRuleContext parent, int invokingState) {
53121 super(parent, invokingState);
53122 }
53123 @Override public int getRuleIndex() { return RULE_alterLogin; }
53124 @Override
53125 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53126 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterLogin(this);
53127 else return visitor.visitChildren(this);
53128 }
53129 }
53130
53131 public final AlterLoginContext alterLogin() throws RecognitionException {
53132 AlterLoginContext _localctx = new AlterLoginContext(_ctx, getState());
53133 enterRule(_localctx, 998, RULE_alterLogin);
53134 int _la;
53135 try {
53136 enterOuterAlt(_localctx, 1);
53137 {
53138 setState(7224);
53139 match(ALTER);
53140 setState(7225);
53141 match(LOGIN);
53142 setState(7226);
53143 ignoredNameIdentifier();
53144 setState(7238);
53145 _errHandler.sync(this);
53146 switch (_input.LA(1)) {
53147 case ENABLE:
53148 case DISABLE:
53149 {
53150 setState(7227);
53151 statusOptionClause();
53152 }
53153 break;
53154 case WITH:
53155 {
53156 setState(7228);
53157 match(WITH);
53158 setState(7229);
53159 setOptionClause();
53160 setState(7234);
53161 _errHandler.sync(this);
53162 _la = _input.LA(1);
53163 while (_la==COMMA_) {
53164 {
53165 {
53166 setState(7230);
53167 match(COMMA_);
53168 setState(7231);
53169 setOptionClause();
53170 }
53171 }
53172 setState(7236);
53173 _errHandler.sync(this);
53174 _la = _input.LA(1);
53175 }
53176 }
53177 break;
53178 case DROP:
53179 case ADD:
53180 {
53181 setState(7237);
53182 cryptographicCredentialsOptionClause();
53183 }
53184 break;
53185 default:
53186 throw new NoViableAltException(this);
53187 }
53188 }
53189 }
53190 catch (RecognitionException re) {
53191 _localctx.exception = re;
53192 _errHandler.reportError(this, re);
53193 _errHandler.recover(this, re);
53194 }
53195 finally {
53196 exitRule();
53197 }
53198 return _localctx;
53199 }
53200
53201 public static class StatusOptionClauseContext extends ParserRuleContext {
53202 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
53203 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
53204 public StatusOptionClauseContext(ParserRuleContext parent, int invokingState) {
53205 super(parent, invokingState);
53206 }
53207 @Override public int getRuleIndex() { return RULE_statusOptionClause; }
53208 @Override
53209 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53210 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatusOptionClause(this);
53211 else return visitor.visitChildren(this);
53212 }
53213 }
53214
53215 public final StatusOptionClauseContext statusOptionClause() throws RecognitionException {
53216 StatusOptionClauseContext _localctx = new StatusOptionClauseContext(_ctx, getState());
53217 enterRule(_localctx, 1000, RULE_statusOptionClause);
53218 int _la;
53219 try {
53220 enterOuterAlt(_localctx, 1);
53221 {
53222 setState(7240);
53223 _la = _input.LA(1);
53224 if ( !(_la==ENABLE || _la==DISABLE) ) {
53225 _errHandler.recoverInline(this);
53226 }
53227 else {
53228 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53229 _errHandler.reportMatch(this);
53230 consume();
53231 }
53232 }
53233 }
53234 catch (RecognitionException re) {
53235 _localctx.exception = re;
53236 _errHandler.reportError(this, re);
53237 _errHandler.recover(this, re);
53238 }
53239 finally {
53240 exitRule();
53241 }
53242 return _localctx;
53243 }
53244
53245 public static class SetOptionClauseContext extends ParserRuleContext {
53246 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
53247 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
53248 public TerminalNode EQ_(int i) {
53249 return getToken(SQLServerStatementParser.EQ_, i);
53250 }
53251 public List<StringLiteralsContext> stringLiterals() {
53252 return getRuleContexts(StringLiteralsContext.class);
53253 }
53254 public StringLiteralsContext stringLiterals(int i) {
53255 return getRuleContext(StringLiteralsContext.class,i);
53256 }
53257 public HashedPasswordContext hashedPassword() {
53258 return getRuleContext(HashedPasswordContext.class,0);
53259 }
53260 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
53261 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
53262 public List<PasswordOptionClauseContext> passwordOptionClause() {
53263 return getRuleContexts(PasswordOptionClauseContext.class);
53264 }
53265 public PasswordOptionClauseContext passwordOptionClause(int i) {
53266 return getRuleContext(PasswordOptionClauseContext.class,i);
53267 }
53268 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
53269 public DatabaseNameContext databaseName() {
53270 return getRuleContext(DatabaseNameContext.class,0);
53271 }
53272 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
53273 public IdentifierContext identifier() {
53274 return getRuleContext(IdentifierContext.class,0);
53275 }
53276 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
53277 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
53278 return getRuleContext(IgnoredNameIdentifierContext.class,0);
53279 }
53280 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
53281 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
53282 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
53283 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
53284 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
53285 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
53286 public SetOptionClauseContext(ParserRuleContext parent, int invokingState) {
53287 super(parent, invokingState);
53288 }
53289 @Override public int getRuleIndex() { return RULE_setOptionClause; }
53290 @Override
53291 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53292 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetOptionClause(this);
53293 else return visitor.visitChildren(this);
53294 }
53295 }
53296
53297 public final SetOptionClauseContext setOptionClause() throws RecognitionException {
53298 SetOptionClauseContext _localctx = new SetOptionClauseContext(_ctx, getState());
53299 enterRule(_localctx, 1002, RULE_setOptionClause);
53300 int _la;
53301 try {
53302 setState(7279);
53303 _errHandler.sync(this);
53304 switch (_input.LA(1)) {
53305 case PASSWORD:
53306 enterOuterAlt(_localctx, 1);
53307 {
53308 setState(7242);
53309 match(PASSWORD);
53310 setState(7243);
53311 match(EQ_);
53312 setState(7248);
53313 _errHandler.sync(this);
53314 switch (_input.LA(1)) {
53315 case STRING_:
53316 case NCHAR_TEXT:
53317 {
53318 setState(7244);
53319 stringLiterals();
53320 }
53321 break;
53322 case HEX_DIGIT_:
53323 {
53324 setState(7245);
53325 hashedPassword();
53326 setState(7246);
53327 match(HASHED);
53328 }
53329 break;
53330 default:
53331 throw new NoViableAltException(this);
53332 }
53333 setState(7257);
53334 _errHandler.sync(this);
53335 switch (_input.LA(1)) {
53336 case OLD_PASSWORD:
53337 {
53338 setState(7250);
53339 match(OLD_PASSWORD);
53340 setState(7251);
53341 match(EQ_);
53342 setState(7252);
53343 stringLiterals();
53344 }
53345 break;
53346 case MUST_CHANGE:
53347 case UNLOCK:
53348 {
53349 setState(7253);
53350 passwordOptionClause();
53351 setState(7255);
53352 _errHandler.sync(this);
53353 _la = _input.LA(1);
53354 if (_la==MUST_CHANGE || _la==UNLOCK) {
53355 {
53356 setState(7254);
53357 passwordOptionClause();
53358 }
53359 }
53360
53361 }
53362 break;
53363 case EOF:
53364 case COMMA_:
53365 case SEMI_:
53366 break;
53367 default:
53368 break;
53369 }
53370 }
53371 break;
53372 case DEFAULT_DATABASE:
53373 enterOuterAlt(_localctx, 2);
53374 {
53375 setState(7259);
53376 match(DEFAULT_DATABASE);
53377 setState(7260);
53378 match(EQ_);
53379 setState(7261);
53380 databaseName();
53381 }
53382 break;
53383 case DEFAULT_LANGUAGE:
53384 enterOuterAlt(_localctx, 3);
53385 {
53386 setState(7262);
53387 match(DEFAULT_LANGUAGE);
53388 setState(7263);
53389 match(EQ_);
53390 setState(7264);
53391 identifier();
53392 }
53393 break;
53394 case NAME:
53395 enterOuterAlt(_localctx, 4);
53396 {
53397 setState(7265);
53398 match(NAME);
53399 setState(7266);
53400 match(EQ_);
53401 setState(7267);
53402 ignoredNameIdentifier();
53403 }
53404 break;
53405 case CHECK_POLICY:
53406 enterOuterAlt(_localctx, 5);
53407 {
53408 setState(7268);
53409 match(CHECK_POLICY);
53410 setState(7269);
53411 match(EQ_);
53412 setState(7270);
53413 _la = _input.LA(1);
53414 if ( !(_la==ON || _la==OFF) ) {
53415 _errHandler.recoverInline(this);
53416 }
53417 else {
53418 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53419 _errHandler.reportMatch(this);
53420 consume();
53421 }
53422 }
53423 break;
53424 case CHECK_EXPIRATION:
53425 enterOuterAlt(_localctx, 6);
53426 {
53427 setState(7271);
53428 match(CHECK_EXPIRATION);
53429 setState(7272);
53430 match(EQ_);
53431 setState(7273);
53432 _la = _input.LA(1);
53433 if ( !(_la==ON || _la==OFF) ) {
53434 _errHandler.recoverInline(this);
53435 }
53436 else {
53437 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53438 _errHandler.reportMatch(this);
53439 consume();
53440 }
53441 }
53442 break;
53443 case CREDENTIAL:
53444 enterOuterAlt(_localctx, 7);
53445 {
53446 setState(7274);
53447 match(CREDENTIAL);
53448 setState(7275);
53449 match(EQ_);
53450 setState(7276);
53451 identifier();
53452 }
53453 break;
53454 case NO:
53455 enterOuterAlt(_localctx, 8);
53456 {
53457 setState(7277);
53458 match(NO);
53459 setState(7278);
53460 match(CREDENTIAL);
53461 }
53462 break;
53463 default:
53464 throw new NoViableAltException(this);
53465 }
53466 }
53467 catch (RecognitionException re) {
53468 _localctx.exception = re;
53469 _errHandler.reportError(this, re);
53470 _errHandler.recover(this, re);
53471 }
53472 finally {
53473 exitRule();
53474 }
53475 return _localctx;
53476 }
53477
53478 public static class PasswordOptionClauseContext extends ParserRuleContext {
53479 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
53480 public TerminalNode UNLOCK() { return getToken(SQLServerStatementParser.UNLOCK, 0); }
53481 public PasswordOptionClauseContext(ParserRuleContext parent, int invokingState) {
53482 super(parent, invokingState);
53483 }
53484 @Override public int getRuleIndex() { return RULE_passwordOptionClause; }
53485 @Override
53486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPasswordOptionClause(this);
53488 else return visitor.visitChildren(this);
53489 }
53490 }
53491
53492 public final PasswordOptionClauseContext passwordOptionClause() throws RecognitionException {
53493 PasswordOptionClauseContext _localctx = new PasswordOptionClauseContext(_ctx, getState());
53494 enterRule(_localctx, 1004, RULE_passwordOptionClause);
53495 int _la;
53496 try {
53497 enterOuterAlt(_localctx, 1);
53498 {
53499 setState(7281);
53500 _la = _input.LA(1);
53501 if ( !(_la==MUST_CHANGE || _la==UNLOCK) ) {
53502 _errHandler.recoverInline(this);
53503 }
53504 else {
53505 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53506 _errHandler.reportMatch(this);
53507 consume();
53508 }
53509 }
53510 }
53511 catch (RecognitionException re) {
53512 _localctx.exception = re;
53513 _errHandler.reportError(this, re);
53514 _errHandler.recover(this, re);
53515 }
53516 finally {
53517 exitRule();
53518 }
53519 return _localctx;
53520 }
53521
53522 public static class CryptographicCredentialsOptionClauseContext extends ParserRuleContext {
53523 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
53524 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
53525 public IdentifierContext identifier() {
53526 return getRuleContext(IdentifierContext.class,0);
53527 }
53528 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
53529 public CryptographicCredentialsOptionClauseContext(ParserRuleContext parent, int invokingState) {
53530 super(parent, invokingState);
53531 }
53532 @Override public int getRuleIndex() { return RULE_cryptographicCredentialsOptionClause; }
53533 @Override
53534 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53535 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCryptographicCredentialsOptionClause(this);
53536 else return visitor.visitChildren(this);
53537 }
53538 }
53539
53540 public final CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() throws RecognitionException {
53541 CryptographicCredentialsOptionClauseContext _localctx = new CryptographicCredentialsOptionClauseContext(_ctx, getState());
53542 enterRule(_localctx, 1006, RULE_cryptographicCredentialsOptionClause);
53543 try {
53544 setState(7289);
53545 _errHandler.sync(this);
53546 switch (_input.LA(1)) {
53547 case ADD:
53548 enterOuterAlt(_localctx, 1);
53549 {
53550 setState(7283);
53551 match(ADD);
53552 setState(7284);
53553 match(CREDENTIAL);
53554 setState(7285);
53555 identifier();
53556 }
53557 break;
53558 case DROP:
53559 enterOuterAlt(_localctx, 2);
53560 {
53561 setState(7286);
53562 match(DROP);
53563 setState(7287);
53564 match(CREDENTIAL);
53565 setState(7288);
53566 identifier();
53567 }
53568 break;
53569 default:
53570 throw new NoViableAltException(this);
53571 }
53572 }
53573 catch (RecognitionException re) {
53574 _localctx.exception = re;
53575 _errHandler.reportError(this, re);
53576 _errHandler.recover(this, re);
53577 }
53578 finally {
53579 exitRule();
53580 }
53581 return _localctx;
53582 }
53583
53584 public static class RevertContext extends ParserRuleContext {
53585 public TerminalNode REVERT() { return getToken(SQLServerStatementParser.REVERT, 0); }
53586 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
53587 public TerminalNode COOKIE() { return getToken(SQLServerStatementParser.COOKIE, 0); }
53588 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
53589 public VariableNameContext variableName() {
53590 return getRuleContext(VariableNameContext.class,0);
53591 }
53592 public RevertContext(ParserRuleContext parent, int invokingState) {
53593 super(parent, invokingState);
53594 }
53595 @Override public int getRuleIndex() { return RULE_revert; }
53596 @Override
53597 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53598 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevert(this);
53599 else return visitor.visitChildren(this);
53600 }
53601 }
53602
53603 public final RevertContext revert() throws RecognitionException {
53604 RevertContext _localctx = new RevertContext(_ctx, getState());
53605 enterRule(_localctx, 1008, RULE_revert);
53606 int _la;
53607 try {
53608 enterOuterAlt(_localctx, 1);
53609 {
53610 setState(7291);
53611 match(REVERT);
53612 setState(7296);
53613 _errHandler.sync(this);
53614 _la = _input.LA(1);
53615 if (_la==WITH) {
53616 {
53617 setState(7292);
53618 match(WITH);
53619 setState(7293);
53620 match(COOKIE);
53621 setState(7294);
53622 match(EQ_);
53623 setState(7295);
53624 variableName();
53625 }
53626 }
53627
53628 }
53629 }
53630 catch (RecognitionException re) {
53631 _localctx.exception = re;
53632 _errHandler.reportError(this, re);
53633 _errHandler.recover(this, re);
53634 }
53635 finally {
53636 exitRule();
53637 }
53638 return _localctx;
53639 }
53640
53641 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
53642 switch (ruleIndex) {
53643 case 49:
53644 return expr_sempred((ExprContext)_localctx, predIndex);
53645 case 54:
53646 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
53647 case 57:
53648 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
53649 case 58:
53650 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
53651 }
53652 return true;
53653 }
53654 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
53655 switch (predIndex) {
53656 case 0:
53657 return precpred(_ctx, 5);
53658 case 1:
53659 return precpred(_ctx, 4);
53660 case 2:
53661 return precpred(_ctx, 3);
53662 }
53663 return true;
53664 }
53665 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
53666 switch (predIndex) {
53667 case 3:
53668 return precpred(_ctx, 5);
53669 case 4:
53670 return precpred(_ctx, 4);
53671 case 5:
53672 return precpred(_ctx, 3);
53673 case 6:
53674 return precpred(_ctx, 2);
53675 }
53676 return true;
53677 }
53678 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
53679 switch (predIndex) {
53680 case 7:
53681 return precpred(_ctx, 11);
53682 case 8:
53683 return precpred(_ctx, 10);
53684 case 9:
53685 return precpred(_ctx, 9);
53686 case 10:
53687 return precpred(_ctx, 8);
53688 case 11:
53689 return precpred(_ctx, 7);
53690 case 12:
53691 return precpred(_ctx, 6);
53692 case 13:
53693 return precpred(_ctx, 5);
53694 case 14:
53695 return precpred(_ctx, 4);
53696 case 15:
53697 return precpred(_ctx, 3);
53698 case 16:
53699 return precpred(_ctx, 2);
53700 }
53701 return true;
53702 }
53703 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
53704 switch (predIndex) {
53705 case 17:
53706 return precpred(_ctx, 9);
53707 }
53708 return true;
53709 }
53710
53711 private static final String _serializedATNSegment0 =
53712 "\u0004\u0001\u02de\u1c83\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
53713 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
53714 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
53715 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
53716 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
53717 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
53718 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
53719 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
53720 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
53721 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
53722 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
53723 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
53724 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
53725 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
53726 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
53727 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
53728 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
53729 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
53730 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
53731 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
53732 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
53733 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
53734 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
53735 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
53736 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
53737 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
53738 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
53739 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
53740 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
53741 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
53742 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
53743 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
53744 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
53745 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
53746 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
53747 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
53748 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
53749 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
53750 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
53751 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
53752 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
53753 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
53754 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
53755 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
53756 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
53757 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
53758 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
53759 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
53760 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
53761 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
53762 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
53763 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
53764 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
53765 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
53766 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
53767 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
53768 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
53769 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
53770 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
53771 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
53772 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
53773 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
53774 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
53775 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
53776 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
53777 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
53778 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
53779 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
53780 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
53781 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
53782 "\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
53783 "\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
53784 "\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
53785 "\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
53786 "\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
53787 "\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
53788 "\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
53789 "\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
53790 "\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
53791 "\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
53792 "\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
53793 "\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
53794 "\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
53795 "\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
53796 "\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
53797 "\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
53798 "\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
53799 "\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
53800 "\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
53801 "\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
53802 "\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
53803 "\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
53804 "\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
53805 "\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
53806 "\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
53807 "\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
53808 "\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
53809 "\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
53810 "\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
53811 "\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
53812 "\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
53813 "\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
53814 "\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
53815 "\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
53816 "\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
53817 "\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
53818 "\u0164\u0002\u0165\u0007\u0165\u0002\u0166\u0007\u0166\u0002\u0167\u0007"+
53819 "\u0167\u0002\u0168\u0007\u0168\u0002\u0169\u0007\u0169\u0002\u016a\u0007"+
53820 "\u016a\u0002\u016b\u0007\u016b\u0002\u016c\u0007\u016c\u0002\u016d\u0007"+
53821 "\u016d\u0002\u016e\u0007\u016e\u0002\u016f\u0007\u016f\u0002\u0170\u0007"+
53822 "\u0170\u0002\u0171\u0007\u0171\u0002\u0172\u0007\u0172\u0002\u0173\u0007"+
53823 "\u0173\u0002\u0174\u0007\u0174\u0002\u0175\u0007\u0175\u0002\u0176\u0007"+
53824 "\u0176\u0002\u0177\u0007\u0177\u0002\u0178\u0007\u0178\u0002\u0179\u0007"+
53825 "\u0179\u0002\u017a\u0007\u017a\u0002\u017b\u0007\u017b\u0002\u017c\u0007"+
53826 "\u017c\u0002\u017d\u0007\u017d\u0002\u017e\u0007\u017e\u0002\u017f\u0007"+
53827 "\u017f\u0002\u0180\u0007\u0180\u0002\u0181\u0007\u0181\u0002\u0182\u0007"+
53828 "\u0182\u0002\u0183\u0007\u0183\u0002\u0184\u0007\u0184\u0002\u0185\u0007"+
53829 "\u0185\u0002\u0186\u0007\u0186\u0002\u0187\u0007\u0187\u0002\u0188\u0007"+
53830 "\u0188\u0002\u0189\u0007\u0189\u0002\u018a\u0007\u018a\u0002\u018b\u0007"+
53831 "\u018b\u0002\u018c\u0007\u018c\u0002\u018d\u0007\u018d\u0002\u018e\u0007"+
53832 "\u018e\u0002\u018f\u0007\u018f\u0002\u0190\u0007\u0190\u0002\u0191\u0007"+
53833 "\u0191\u0002\u0192\u0007\u0192\u0002\u0193\u0007\u0193\u0002\u0194\u0007"+
53834 "\u0194\u0002\u0195\u0007\u0195\u0002\u0196\u0007\u0196\u0002\u0197\u0007"+
53835 "\u0197\u0002\u0198\u0007\u0198\u0002\u0199\u0007\u0199\u0002\u019a\u0007"+
53836 "\u019a\u0002\u019b\u0007\u019b\u0002\u019c\u0007\u019c\u0002\u019d\u0007"+
53837 "\u019d\u0002\u019e\u0007\u019e\u0002\u019f\u0007\u019f\u0002\u01a0\u0007"+
53838 "\u01a0\u0002\u01a1\u0007\u01a1\u0002\u01a2\u0007\u01a2\u0002\u01a3\u0007"+
53839 "\u01a3\u0002\u01a4\u0007\u01a4\u0002\u01a5\u0007\u01a5\u0002\u01a6\u0007"+
53840 "\u01a6\u0002\u01a7\u0007\u01a7\u0002\u01a8\u0007\u01a8\u0002\u01a9\u0007"+
53841 "\u01a9\u0002\u01aa\u0007\u01aa\u0002\u01ab\u0007\u01ab\u0002\u01ac\u0007"+
53842 "\u01ac\u0002\u01ad\u0007\u01ad\u0002\u01ae\u0007\u01ae\u0002\u01af\u0007"+
53843 "\u01af\u0002\u01b0\u0007\u01b0\u0002\u01b1\u0007\u01b1\u0002\u01b2\u0007"+
53844 "\u01b2\u0002\u01b3\u0007\u01b3\u0002\u01b4\u0007\u01b4\u0002\u01b5\u0007"+
53845 "\u01b5\u0002\u01b6\u0007\u01b6\u0002\u01b7\u0007\u01b7\u0002\u01b8\u0007"+
53846 "\u01b8\u0002\u01b9\u0007\u01b9\u0002\u01ba\u0007\u01ba\u0002\u01bb\u0007"+
53847 "\u01bb\u0002\u01bc\u0007\u01bc\u0002\u01bd\u0007\u01bd\u0002\u01be\u0007"+
53848 "\u01be\u0002\u01bf\u0007\u01bf\u0002\u01c0\u0007\u01c0\u0002\u01c1\u0007"+
53849 "\u01c1\u0002\u01c2\u0007\u01c2\u0002\u01c3\u0007\u01c3\u0002\u01c4\u0007"+
53850 "\u01c4\u0002\u01c5\u0007\u01c5\u0002\u01c6\u0007\u01c6\u0002\u01c7\u0007"+
53851 "\u01c7\u0002\u01c8\u0007\u01c8\u0002\u01c9\u0007\u01c9\u0002\u01ca\u0007"+
53852 "\u01ca\u0002\u01cb\u0007\u01cb\u0002\u01cc\u0007\u01cc\u0002\u01cd\u0007"+
53853 "\u01cd\u0002\u01ce\u0007\u01ce\u0002\u01cf\u0007\u01cf\u0002\u01d0\u0007"+
53854 "\u01d0\u0002\u01d1\u0007\u01d1\u0002\u01d2\u0007\u01d2\u0002\u01d3\u0007"+
53855 "\u01d3\u0002\u01d4\u0007\u01d4\u0002\u01d5\u0007\u01d5\u0002\u01d6\u0007"+
53856 "\u01d6\u0002\u01d7\u0007\u01d7\u0002\u01d8\u0007\u01d8\u0002\u01d9\u0007"+
53857 "\u01d9\u0002\u01da\u0007\u01da\u0002\u01db\u0007\u01db\u0002\u01dc\u0007"+
53858 "\u01dc\u0002\u01dd\u0007\u01dd\u0002\u01de\u0007\u01de\u0002\u01df\u0007"+
53859 "\u01df\u0002\u01e0\u0007\u01e0\u0002\u01e1\u0007\u01e1\u0002\u01e2\u0007"+
53860 "\u01e2\u0002\u01e3\u0007\u01e3\u0002\u01e4\u0007\u01e4\u0002\u01e5\u0007"+
53861 "\u01e5\u0002\u01e6\u0007\u01e6\u0002\u01e7\u0007\u01e7\u0002\u01e8\u0007"+
53862 "\u01e8\u0002\u01e9\u0007\u01e9\u0002\u01ea\u0007\u01ea\u0002\u01eb\u0007"+
53863 "\u01eb\u0002\u01ec\u0007\u01ec\u0002\u01ed\u0007\u01ed\u0002\u01ee\u0007"+
53864 "\u01ee\u0002\u01ef\u0007\u01ef\u0002\u01f0\u0007\u01f0\u0002\u01f1\u0007"+
53865 "\u01f1\u0002\u01f2\u0007\u01f2\u0002\u01f3\u0007\u01f3\u0002\u01f4\u0007"+
53866 "\u01f4\u0002\u01f5\u0007\u01f5\u0002\u01f6\u0007\u01f6\u0002\u01f7\u0007"+
53867 "\u01f7\u0002\u01f8\u0007\u01f8\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53868 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53869 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53870 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53871 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53872 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53873 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53874 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53875 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53876 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53877 "\u0000\u0001\u0000\u0003\u0000\u042e\b\u0000\u0001\u0000\u0003\u0000\u0431"+
53878 "\b\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
53879 "\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+
53880 "\u0002\u0001\u0002\u0001\u0002\u0003\u0002\u0441\b\u0002\u0001\u0003\u0001"+
53881 "\u0003\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001"+
53882 "\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u044d\b\u0005\u0001\u0005\u0001"+
53883 "\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u0453\b\u0005\u0003\u0005\u0455"+
53884 "\b\u0005\u0003\u0005\u0457\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+
53885 "\u0001\u0006\u0001\u0006\u0003\u0006\u045e\b\u0006\u0001\u0007\u0001\u0007"+
53886 "\u0001\u0007\u0001\u0007\u0003\u0007\u0464\b\u0007\u0003\u0007\u0466\b"+
53887 "\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
53888 "\u0007\u0003\u0007\u046e\b\u0007\u0001\b\u0001\b\u0003\b\u0472\b\b\u0001"+
53889 "\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u047a\b\t\u0001\n\u0001"+
53890 "\n\u0003\n\u047e\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003"+
53891 "\u000b\u0484\b\u000b\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+
53892 "\r\u0001\r\u0001\r\u0003\r\u048f\b\r\u0001\u000e\u0001\u000e\u0001\u000f"+
53893 "\u0003\u000f\u0494\b\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010"+
53894 "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010"+
53895 "\u049f\b\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013"+
53896 "\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0003\u0015"+
53897 "\u04ab\b\u0015\u0001\u0016\u0001\u0016\u0003\u0016\u04af\b\u0016\u0001"+
53898 "\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001"+
53899 "\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u04bc"+
53900 "\b\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0003"+
53901 "\u001c\u04c3\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u04c8"+
53902 "\b\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u04cd\b\u001d"+
53903 "\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e"+
53904 "\u04d4\b\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f"+
53905 "\u0003\u001f\u04db\b\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001"+
53906 " \u0003 \u04e2\b \u0001 \u0003 \u04e5\b \u0001 \u0003 \u04e8\b \u0001"+
53907 " \u0001 \u0001!\u0001!\u0001!\u0003!\u04ef\b!\u0001!\u0001!\u0001\"\u0001"+
53908 "\"\u0001#\u0001#\u0001$\u0001$\u0001$\u0003$\u04fa\b$\u0001$\u0001$\u0001"+
53909 "$\u0003$\u04ff\b$\u0001$\u0001$\u0003$\u0503\b$\u0001%\u0001%\u0001%\u0001"+
53910 "%\u0001%\u0001&\u0001&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0005"+
53911 "(\u0512\b(\n(\f(\u0515\t(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0005"+
53912 ")\u051d\b)\n)\f)\u0520\t)\u0001)\u0001)\u0001*\u0003*\u0525\b*\u0001*"+
53913 "\u0001*\u0001*\u0005*\u052a\b*\n*\f*\u052d\t*\u0001*\u0003*\u0530\b*\u0001"+
53914 "+\u0001+\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0001.\u0003.\u053b"+
53915 "\b.\u0001/\u0001/\u0001/\u0001/\u0003/\u0541\b/\u0003/\u0543\b/\u0001"+
53916 "/\u0001/\u00010\u00030\u0548\b0\u00010\u00010\u00011\u00011\u00011\u0001"+
53917 "1\u00011\u00011\u00011\u00011\u00011\u00031\u0555\b1\u00011\u00011\u0001"+
53918 "1\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u0005"+
53919 "1\u0563\b1\n1\f1\u0566\t1\u00012\u00012\u00013\u00013\u00014\u00014\u0003"+
53920 "4\u056e\b4\u00014\u00014\u00014\u00015\u00015\u00016\u00016\u00016\u0001"+
53921 "6\u00016\u00016\u00036\u057b\b6\u00016\u00016\u00016\u00016\u00016\u0001"+
53922 "6\u00016\u00016\u00016\u00016\u00016\u00016\u00016\u00056\u058a\b6\n6"+
53923 "\f6\u058d\t6\u00017\u00017\u00018\u00018\u00038\u0593\b8\u00018\u0001"+
53924 "8\u00018\u00018\u00018\u00038\u059a\b8\u00018\u00018\u00018\u00018\u0001"+
53925 "8\u00058\u05a1\b8\n8\f8\u05a4\t8\u00018\u00018\u00018\u00018\u00038\u05aa"+
53926 "\b8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00038\u05b3\b8\u0001"+
53927 "8\u00018\u00018\u00018\u00038\u05b9\b8\u00018\u00038\u05bc\b8\u00019\u0001"+
53928 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53929 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53930 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53931 "9\u00019\u00059\u05df\b9\n9\f9\u05e2\t9\u0001:\u0001:\u0001:\u0001:\u0001"+
53932 ":\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0003:\u05ef\b:\u0001:\u0001"+
53933 ":\u0003:\u05f3\b:\u0001:\u0001:\u0001:\u0001:\u0005:\u05f9\b:\n:\f:\u05fc"+
53934 "\t:\u0001:\u0001:\u0001:\u0003:\u0601\b:\u0001:\u0001:\u0001:\u0001:\u0001"+
53935 ":\u0001:\u0001:\u0001:\u0001:\u0005:\u060c\b:\n:\f:\u060f\t:\u0001:\u0001"+
53936 ":\u0005:\u0613\b:\n:\f:\u0616\t:\u0001:\u0001:\u0001:\u0003:\u061b\b:"+
53937 "\u0001:\u0001:\u0003:\u061f\b:\u0001:\u0001:\u0001:\u0005:\u0624\b:\n"+
53938 ":\f:\u0627\t:\u0001;\u0001;\u0001;\u0003;\u062c\b;\u0001<\u0001<\u0001"+
53939 "<\u0003<\u0631\b<\u0001<\u0001<\u0001<\u0005<\u0636\b<\n<\f<\u0639\t<"+
53940 "\u0001<\u0003<\u063c\b<\u0001<\u0001<\u0001=\u0001=\u0001>\u0001>\u0001"+
53941 "?\u0001?\u0001?\u0001?\u0001?\u0001?\u0001?\u0001?\u0003?\u064c\b?\u0001"+
53942 "@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0003@\u0657"+
53943 "\b@\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001A\u0001"+
53944 "A\u0001A\u0003A\u0664\bA\u0001A\u0001A\u0001B\u0001B\u0003B\u066a\bB\u0001"+
53945 "C\u0001C\u0001C\u0001C\u0001C\u0001C\u0001C\u0001D\u0001D\u0001D\u0001"+
53946 "D\u0001D\u0001D\u0001D\u0003D\u067a\bD\u0001D\u0001D\u0001E\u0001E\u0003"+
53947 "E\u0680\bE\u0001F\u0001F\u0001F\u0001F\u0001F\u0005F\u0687\bF\nF\fF\u068a"+
53948 "\tF\u0001F\u0003F\u068d\bF\u0003F\u068f\bF\u0001F\u0001F\u0001G\u0001"+
53949 "G\u0001G\u0001G\u0001G\u0005G\u0698\bG\nG\fG\u069b\tG\u0001G\u0003G\u069e"+
53950 "\bG\u0001G\u0001G\u0001H\u0001H\u0001H\u0001H\u0001I\u0001I\u0001I\u0001"+
53951 "I\u0001I\u0001I\u0003I\u06ac\bI\u0001J\u0001J\u0001J\u0001J\u0001J\u0005"+
53952 "J\u06b3\bJ\nJ\fJ\u06b6\tJ\u0001J\u0001J\u0003J\u06ba\bJ\u0001J\u0001J"+
53953 "\u0001K\u0001K\u0001K\u0001K\u0001K\u0003K\u06c3\bK\u0001K\u0001K\u0003"+
53954 "K\u06c7\bK\u0001L\u0001L\u0001L\u0001L\u0001L\u0005L\u06ce\bL\nL\fL\u06d1"+
53955 "\tL\u0001L\u0001L\u0001M\u0001M\u0001M\u0003M\u06d8\bM\u0001M\u0001M\u0003"+
53956 "M\u06dc\bM\u0001N\u0001N\u0001N\u0001N\u0001N\u0001N\u0001N\u0001N\u0001"+
53957 "N\u0001N\u0001N\u0003N\u06e9\bN\u0001N\u0001N\u0001N\u0003N\u06ee\bN\u0001"+
53958 "N\u0001N\u0001N\u0001N\u0001N\u0001N\u0001N\u0001N\u0005N\u06f8\bN\nN"+
53959 "\fN\u06fb\tN\u0001N\u0001N\u0003N\u06ff\bN\u0001O\u0001O\u0001O\u0001"+
53960 "O\u0001O\u0005O\u0706\bO\nO\fO\u0709\tO\u0001O\u0003O\u070c\bO\u0001O"+
53961 "\u0001O\u0001P\u0001P\u0001P\u0003P\u0713\bP\u0001P\u0001P\u0001P\u0001"+
53962 "P\u0001P\u0003P\u071a\bP\u0001Q\u0001Q\u0003Q\u071e\bQ\u0001Q\u0004Q\u0721"+
53963 "\bQ\u000bQ\fQ\u0722\u0001Q\u0003Q\u0726\bQ\u0001Q\u0001Q\u0001R\u0001"+
53964 "R\u0001R\u0001R\u0001R\u0001S\u0001S\u0001S\u0001T\u0001T\u0001T\u0001"+
53965 "T\u0003T\u0736\bT\u0001U\u0001U\u0001U\u0001U\u0001U\u0005U\u073d\bU\n"+
53966 "U\fU\u0740\tU\u0001U\u0001U\u0001U\u0001U\u0001U\u0001U\u0001U\u0001U"+
53967 "\u0001U\u0003U\u074b\bU\u0003U\u074d\bU\u0001V\u0001V\u0001V\u0003V\u0752"+
53968 "\bV\u0001V\u0001V\u0003V\u0756\bV\u0001V\u0003V\u0759\bV\u0001W\u0001"+
53969 "W\u0001W\u0003W\u075e\bW\u0001W\u0001W\u0001W\u0001W\u0001W\u0001W\u0001"+
53970 "W\u0003W\u0767\bW\u0001W\u0001W\u0001W\u0003W\u076c\bW\u0001X\u0001X\u0001"+
53971 "Y\u0001Y\u0001Y\u0001Y\u0003Y\u0774\bY\u0001Y\u0001Y\u0001Z\u0001Z\u0001"+
53972 "Z\u0001Z\u0001Z\u0001Z\u0001Z\u0001Z\u0003Z\u0780\bZ\u0001Z\u0001Z\u0001"+
53973 "[\u0001[\u0001[\u0001[\u0001[\u0003[\u0789\b[\u0001[\u0001[\u0001[\u0001"+
53974 "[\u0003[\u078f\b[\u0001\\\u0001\\\u0001\\\u0001\\\u0001\\\u0003\\\u0796"+
53975 "\b\\\u0001\\\u0001\\\u0001]\u0001]\u0001]\u0001^\u0001^\u0001^\u0003^"+
53976 "\u07a0\b^\u0001^\u0003^\u07a3\b^\u0001^\u0003^\u07a6\b^\u0001^\u0001^"+
53977 "\u0001_\u0001_\u0001_\u0001_\u0001_\u0005_\u07af\b_\n_\f_\u07b2\t_\u0001"+
53978 "`\u0001`\u0001`\u0001a\u0001a\u0003a\u07b9\ba\u0001b\u0001b\u0001b\u0001"+
53979 "b\u0001b\u0001c\u0001c\u0003c\u07c2\bc\u0001d\u0001d\u0001d\u0001d\u0001"+
53980 "d\u0001d\u0003d\u07ca\bd\u0001e\u0001e\u0001e\u0001e\u0001e\u0001e\u0003"+
53981 "e\u07d2\be\u0001f\u0001f\u0003f\u07d6\bf\u0001g\u0001g\u0001g\u0001g\u0001"+
53982 "g\u0001g\u0001g\u0001g\u0001g\u0001g\u0001g\u0003g\u07e3\bg\u0003g\u07e5"+
53983 "\bg\u0001h\u0001h\u0001h\u0001h\u0001i\u0001i\u0001i\u0003i\u07ee\bi\u0001"+
53984 "j\u0001j\u0001j\u0001k\u0001k\u0001l\u0001l\u0001l\u0001m\u0001m\u0001"+
53985 "m\u0001m\u0001m\u0001m\u0001n\u0001n\u0001n\u0005n\u0801\bn\nn\fn\u0804"+
53986 "\tn\u0001o\u0001o\u0003o\u0808\bo\u0001p\u0001p\u0001p\u0001p\u0001q\u0001"+
53987 "q\u0001q\u0001q\u0001q\u0001q\u0003q\u0814\bq\u0001q\u0001q\u0001q\u0001"+
53988 "q\u0001q\u0001q\u0001r\u0001r\u0001r\u0001r\u0001r\u0003r\u0821\br\u0001"+
53989 "s\u0001s\u0001t\u0001t\u0001t\u0005t\u0828\bt\nt\ft\u082b\tt\u0001u\u0001"+
53990 "u\u0001v\u0001v\u0001w\u0001w\u0001w\u0001w\u0001w\u0001w\u0003w\u0837"+
53991 "\bw\u0001x\u0001x\u0001y\u0001y\u0001z\u0001z\u0001{\u0001{\u0001|\u0001"+
53992 "|\u0001}\u0001}\u0001}\u0001~\u0001~\u0001\u007f\u0001\u007f\u0001\u0080"+
53993 "\u0001\u0080\u0003\u0080\u084c\b\u0080\u0001\u0080\u0001\u0080\u0001\u0081"+
53994 "\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0081\u0003\u0081\u0855\b\u0081"+
53995 "\u0001\u0082\u0001\u0082\u0003\u0082\u0859\b\u0082\u0001\u0083\u0001\u0083"+
53996 "\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0084\u0001\u0084"+
53997 "\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084"+
53998 "\u0001\u0084\u0001\u0085\u0001\u0085\u0001\u0085\u0001\u0085\u0001\u0085"+
53999 "\u0001\u0086\u0001\u0086\u0001\u0086\u0003\u0086\u0872\b\u0086\u0001\u0086"+
54000 "\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0087\u0001\u0087"+
54001 "\u0001\u0087\u0003\u0087\u087c\b\u0087\u0001\u0087\u0001\u0087\u0001\u0087"+
54002 "\u0001\u0087\u0001\u0087\u0001\u0088\u0001\u0088\u0001\u0088\u0003\u0088"+
54003 "\u0886\b\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0089"+
54004 "\u0001\u0089\u0001\u0089\u0003\u0089\u088f\b\u0089\u0001\u0089\u0001\u0089"+
54005 "\u0001\u0089\u0001\u0089\u0001\u0089\u0001\u0089\u0001\u008a\u0001\u008a"+
54006 "\u0001\u008a\u0001\u008a\u0005\u008a\u089b\b\u008a\n\u008a\f\u008a\u089e"+
54007 "\t\u008a\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0003"+
54008 "\u008b\u08a5\b\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0003"+
54009 "\u008b\u08ab\b\u008b\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0005"+
54010 "\u008c\u08b1\b\u008c\n\u008c\f\u008c\u08b4\t\u008c\u0001\u008d\u0001\u008d"+
54011 "\u0001\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0005\u008d\u08bc\b\u008d"+
54012 "\n\u008d\f\u008d\u08bf\t\u008d\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
54013 "\u008e\u0003\u008e\u08c5\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e\u0001"+
54014 "\u008e\u0001\u008f\u0001\u008f\u0001\u008f\u0001\u008f\u0003\u008f\u08cf"+
54015 "\b\u008f\u0001\u008f\u0005\u008f\u08d2\b\u008f\n\u008f\f\u008f\u08d5\t"+
54016 "\u008f\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0090\u0001"+
54017 "\u0090\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091\u0001"+
54018 "\u0091\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001"+
54019 "\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093\u0001"+
54020 "\u0093\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0005\u0094\u08f3"+
54021 "\b\u0094\n\u0094\f\u0094\u08f6\t\u0094\u0001\u0095\u0001\u0095\u0001\u0095"+
54022 "\u0001\u0095\u0001\u0095\u0001\u0095\u0003\u0095\u08fe\b\u0095\u0001\u0095"+
54023 "\u0003\u0095\u0901\b\u0095\u0001\u0096\u0001\u0096\u0001\u0096\u0001\u0096"+
54024 "\u0001\u0096\u0003\u0096\u0908\b\u0096\u0001\u0096\u0001\u0096\u0001\u0097"+
54025 "\u0001\u0097\u0001\u0097\u0003\u0097\u090f\b\u0097\u0001\u0097\u0001\u0097"+
54026 "\u0001\u0098\u0001\u0098\u0001\u0098\u0003\u0098\u0916\b\u0098\u0001\u0098"+
54027 "\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0099\u0001\u0099\u0001\u0099"+
54028 "\u0003\u0099\u091f\b\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0005\u0099"+
54029 "\u0924\b\u0099\n\u0099\f\u0099\u0927\t\u0099\u0001\u009a\u0001\u009a\u0001"+
54030 "\u009a\u0003\u009a\u092c\b\u009a\u0001\u009a\u0001\u009a\u0001\u009a\u0005"+
54031 "\u009a\u0931\b\u009a\n\u009a\f\u009a\u0934\t\u009a\u0001\u009b\u0001\u009b"+
54032 "\u0001\u009b\u0003\u009b\u0939\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b"+
54033 "\u0005\u009b\u093e\b\u009b\n\u009b\f\u009b\u0941\t\u009b\u0001\u009c\u0001"+
54034 "\u009c\u0001\u009c\u0003\u009c\u0946\b\u009c\u0001\u009c\u0001\u009c\u0001"+
54035 "\u009c\u0005\u009c\u094b\b\u009c\n\u009c\f\u009c\u094e\t\u009c\u0001\u009d"+
54036 "\u0001\u009d\u0001\u009d\u0003\u009d\u0953\b\u009d\u0001\u009d\u0001\u009d"+
54037 "\u0001\u009d\u0005\u009d\u0958\b\u009d\n\u009d\f\u009d\u095b\t\u009d\u0001"+
54038 "\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0003\u009d\u0961\b\u009d\u0003"+
54039 "\u009d\u0963\b\u009d\u0001\u009e\u0001\u009e\u0001\u009e\u0003\u009e\u0968"+
54040 "\b\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0005\u009e\u096d\b\u009e"+
54041 "\n\u009e\f\u009e\u0970\t\u009e\u0001\u009f\u0001\u009f\u0001\u009f\u0001"+
54042 "\u009f\u0001\u00a0\u0001\u00a0\u0001\u00a0\u0003\u00a0\u0979\b\u00a0\u0001"+
54043 "\u00a0\u0001\u00a0\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001"+
54044 "\u00a2\u0001\u00a2\u0001\u00a2\u0001\u00a2\u0003\u00a2\u0985\b\u00a2\u0001"+
54045 "\u00a2\u0001\u00a2\u0001\u00a2\u0005\u00a2\u098a\b\u00a2\n\u00a2\f\u00a2"+
54046 "\u098d\t\u00a2\u0001\u00a2\u0003\u00a2\u0990\b\u00a2\u0003\u00a2\u0992"+
54047 "\b\u00a2\u0001\u00a2\u0003\u00a2\u0995\b\u00a2\u0001\u00a3\u0001\u00a3"+
54048 "\u0003\u00a3\u0999\b\u00a3\u0001\u00a3\u0003\u00a3\u099c\b\u00a3\u0001"+
54049 "\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0003\u00a4\u09a2\b\u00a4\u0001"+
54050 "\u00a4\u0001\u00a4\u0001\u00a4\u0003\u00a4\u09a7\b\u00a4\u0001\u00a4\u0001"+
54051 "\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0001\u00a4\u0005"+
54052 "\u00a4\u09b0\b\u00a4\n\u00a4\f\u00a4\u09b3\t\u00a4\u0001\u00a4\u0003\u00a4"+
54053 "\u09b6\b\u00a4\u0003\u00a4\u09b8\b\u00a4\u0001\u00a5\u0003\u00a5\u09bb"+
54054 "\b\u00a5\u0001\u00a5\u0004\u00a5\u09be\b\u00a5\u000b\u00a5\f\u00a5\u09bf"+
54055 "\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6"+
54056 "\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6\u0001\u00a6"+
54057 "\u0001\u00a6\u0003\u00a6\u09cf\b\u00a6\u0001\u00a7\u0001\u00a7\u0003\u00a7"+
54058 "\u09d3\b\u00a7\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a9"+
54059 "\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0005\u00a9\u09dd\b\u00a9\n\u00a9"+
54060 "\f\u00a9\u09e0\t\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u09e4\b\u00a9"+
54061 "\u0001\u00a9\u0001\u00a9\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0001\u00aa"+
54062 "\u0001\u00aa\u0003\u00aa\u09ed\b\u00aa\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
54063 "\u0005\u00ab\u09f2\b\u00ab\n\u00ab\f\u00ab\u09f5\t\u00ab\u0001\u00ab\u0001"+
54064 "\u00ab\u0003\u00ab\u09f9\b\u00ab\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
54065 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
54066 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac\u0a08\b\u00ac\u0001"+
54067 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
54068 "\u00ac\u0001\u00ac\u0003\u00ac\u0a12\b\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
54069 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
54070 "\u00ac\u0003\u00ac\u0a1d\b\u00ac\u0001\u00ac\u0003\u00ac\u0a20\b\u00ac"+
54071 "\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac"+
54072 "\u0001\u00ac\u0001\u00ac\u0005\u00ac\u0a2a\b\u00ac\n\u00ac\f\u00ac\u0a2d"+
54073 "\t\u00ac\u0001\u00ac\u0003\u00ac\u0a30\b\u00ac\u0001\u00ad\u0001\u00ad"+
54074 "\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
54075 "\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad"+
54076 "\u0001\u00ae\u0001\u00ae\u0003\u00ae\u0a42\b\u00ae\u0001\u00ae\u0001\u00ae"+
54077 "\u0001\u00ae\u0003\u00ae\u0a47\b\u00ae\u0001\u00af\u0001\u00af\u0003\u00af"+
54078 "\u0a4b\b\u00af\u0001\u00af\u0001\u00af\u0001\u00af\u0003\u00af\u0a50\b"+
54079 "\u00af\u0001\u00b0\u0001\u00b0\u0003\u00b0\u0a54\b\u00b0\u0001\u00b0\u0001"+
54080 "\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0003\u00b0\u0a5b\b\u00b0\u0001"+
54081 "\u00b0\u0005\u00b0\u0a5e\b\u00b0\n\u00b0\f\u00b0\u0a61\t\u00b0\u0001\u00b1"+
54082 "\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0003\u00b1\u0a68\b\u00b1"+
54083 "\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0001\u00b1"+
54084 "\u0001\u00b1\u0003\u00b1\u0a71\b\u00b1\u0001\u00b2\u0001\u00b2\u0003\u00b2"+
54085 "\u0a75\b\u00b2\u0001\u00b2\u0001\u00b2\u0003\u00b2\u0a79\b\u00b2\u0001"+
54086 "\u00b3\u0003\u00b3\u0a7c\b\u00b3\u0001\u00b3\u0003\u00b3\u0a7f\b\u00b3"+
54087 "\u0001\u00b3\u0003\u00b3\u0a82\b\u00b3\u0001\u00b4\u0001\u00b4\u0001\u00b5"+
54088 "\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
54089 "\u0001\u00b5\u0005\u00b5\u0a8e\b\u00b5\n\u00b5\f\u00b5\u0a91\t\u00b5\u0001"+
54090 "\u00b5\u0001\u00b5\u0003\u00b5\u0a95\b\u00b5\u0001\u00b6\u0001\u00b6\u0001"+
54091 "\u00b6\u0003\u00b6\u0a9a\b\u00b6\u0001\u00b7\u0001\u00b7\u0001\u00b7\u0001"+
54092 "\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b8\u0001\u00b8\u0001\u00b8\u0001"+
54093 "\u00b9\u0001\u00b9\u0001\u00b9\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001"+
54094 "\u00ba\u0003\u00ba\u0aac\b\u00ba\u0003\u00ba\u0aae\b\u00ba\u0001\u00bb"+
54095 "\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bb"+
54096 "\u0001\u00bc\u0001\u00bc\u0003\u00bc\u0ab9\b\u00bc\u0001\u00bc\u0001\u00bc"+
54097 "\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u0ac1\b\u00bc"+
54098 "\u0001\u00bc\u0005\u00bc\u0ac4\b\u00bc\n\u00bc\f\u00bc\u0ac7\t\u00bc\u0001"+
54099 "\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0003"+
54100 "\u00bd\u0acf\b\u00bd\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001"+
54101 "\u00be\u0003\u00be\u0ad6\b\u00be\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001"+
54102 "\u00bf\u0003\u00bf\u0adc\b\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001"+
54103 "\u00bf\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u0ae5\b\u00c0\u0001"+
54104 "\u00c0\u0003\u00c0\u0ae8\b\u00c0\u0001\u00c0\u0003\u00c0\u0aeb\b\u00c0"+
54105 "\u0001\u00c0\u0003\u00c0\u0aee\b\u00c0\u0001\u00c1\u0001\u00c1\u0001\u00c1"+
54106 "\u0001\u00c1\u0001\u00c1\u0005\u00c1\u0af5\b\u00c1\n\u00c1\f\u00c1\u0af8"+
54107 "\t\u00c1\u0001\u00c1\u0001\u00c1\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0003"+
54108 "\u00c2\u0aff\b\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c4\u0001"+
54109 "\u00c4\u0001\u00c4\u0001\u00c4\u0003\u00c4\u0b08\b\u00c4\u0001\u00c5\u0001"+
54110 "\u00c5\u0001\u00c5\u0005\u00c5\u0b0d\b\u00c5\n\u00c5\f\u00c5\u0b10\t\u00c5"+
54111 "\u0003\u00c5\u0b12\b\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6"+
54112 "\u0001\u00c6\u0001\u00c6\u0003\u00c6\u0b1a\b\u00c6\u0003\u00c6\u0b1c\b"+
54113 "\u00c6\u0001\u00c6\u0003\u00c6\u0b1f\b\u00c6\u0001\u00c7\u0001\u00c7\u0001"+
54114 "\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c8\u0001\u00c8\u0003"+
54115 "\u00c8\u0b29\b\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0003\u00c8\u0b2e"+
54116 "\b\u00c8\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9\u0b33\b\u00c9"+
54117 "\u0001\u00ca\u0001\u00ca\u0003\u00ca\u0b37\b\u00ca\u0001\u00cb\u0003\u00cb"+
54118 "\u0b3a\b\u00cb\u0001\u00cb\u0001\u00cb\u0003\u00cb\u0b3e\b\u00cb\u0001"+
54119 "\u00cb\u0003\u00cb\u0b41\b\u00cb\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0003"+
54120 "\u00cc\u0b46\b\u00cc\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001"+
54121 "\u00ce\u0001\u00ce\u0003\u00ce\u0b4e\b\u00ce\u0001\u00ce\u0001\u00ce\u0001"+
54122 "\u00ce\u0001\u00ce\u0001\u00ce\u0005\u00ce\u0b55\b\u00ce\n\u00ce\f\u00ce"+
54123 "\u0b58\t\u00ce\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00cf"+
54124 "\u0003\u00cf\u0b5f\b\u00cf\u0001\u00cf\u0003\u00cf\u0b62\b\u00cf\u0001"+
54125 "\u00cf\u0003\u00cf\u0b65\b\u00cf\u0001\u00d0\u0003\u00d0\u0b68\b\u00d0"+
54126 "\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0003\u00d0\u0b6e\b\u00d0"+
54127 "\u0001\u00d0\u0001\u00d0\u0003\u00d0\u0b72\b\u00d0\u0001\u00d1\u0001\u00d1"+
54128 "\u0001\u00d1\u0001\u00d1\u0005\u00d1\u0b78\b\u00d1\n\u00d1\f\u00d1\u0b7b"+
54129 "\t\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001"+
54130 "\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001"+
54131 "\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001"+
54132 "\u00d3\u0001\u00d3\u0003\u00d3\u0b90\b\u00d3\u0003\u00d3\u0b92\b\u00d3"+
54133 "\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0003\u00d4\u0b97\b\u00d4\u0003\u00d4"+
54134 "\u0b99\b\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4"+
54135 "\u0003\u00d4\u0ba0\b\u00d4\u0003\u00d4\u0ba2\b\u00d4\u0001\u00d4\u0001"+
54136 "\u00d4\u0003\u00d4\u0ba6\b\u00d4\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001"+
54137 "\u00d5\u0005\u00d5\u0bac\b\u00d5\n\u00d5\f\u00d5\u0baf\t\u00d5\u0001\u00d5"+
54138 "\u0001\u00d5\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
54139 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0bbc\b\u00d6"+
54140 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
54141 "\u0001\u00d6\u0003\u00d6\u0bc5\b\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
54142 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
54143 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0bd4\b\u00d6"+
54144 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0bda\b\u00d6"+
54145 "\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0bde\b\u00d6\u0001\u00d6\u0001\u00d6"+
54146 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0be5\b\u00d6\u0001\u00d7"+
54147 "\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7"+
54148 "\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d8"+
54149 "\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0005\u00d8\u0bf7\b\u00d8\n\u00d8"+
54150 "\f\u00d8\u0bfa\t\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d9\u0001\u00d9"+
54151 "\u0001\u00d9\u0001\u00d9\u0003\u00d9\u0c02\b\u00d9\u0001\u00d9\u0003\u00d9"+
54152 "\u0c05\b\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00da"+
54153 "\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00db"+
54154 "\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db"+
54155 "\u0001\u00db\u0001\u00db\u0001\u00db\u0003\u00db\u0c1b\b\u00db\u0003\u00db"+
54156 "\u0c1d\b\u00db\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc"+
54157 "\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0003\u00dc\u0c28\b\u00dc"+
54158 "\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd"+
54159 "\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd"+
54160 "\u0001\u00dd\u0001\u00dd\u0003\u00dd\u0c38\b\u00dd\u0001\u00dd\u0001\u00dd"+
54161 "\u0001\u00dd\u0003\u00dd\u0c3d\b\u00dd\u0005\u00dd\u0c3f\b\u00dd\n\u00dd"+
54162 "\f\u00dd\u0c42\t\u00dd\u0001\u00dd\u0001\u00dd\u0003\u00dd\u0c46\b\u00dd"+
54163 "\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0003\u00de"+
54164 "\u0c4d\b\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0001\u00de"+
54165 "\u0001\u00de\u0005\u00de\u0c55\b\u00de\n\u00de\f\u00de\u0c58\t\u00de\u0001"+
54166 "\u00de\u0001\u00de\u0001\u00de\u0001\u00df\u0003\u00df\u0c5e\b\u00df\u0001"+
54167 "\u00df\u0003\u00df\u0c61\b\u00df\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001"+
54168 "\u00e0\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0003"+
54169 "\u00e0\u0c6c\b\u00e0\u0001\u00e1\u0001\u00e1\u0003\u00e1\u0c70\b\u00e1"+
54170 "\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0003\u00e1\u0c75\b\u00e1\u0001\u00e2"+
54171 "\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0003\u00e2\u0c7b\b\u00e2\u0001\u00e2"+
54172 "\u0001\u00e2\u0001\u00e2\u0003\u00e2\u0c80\b\u00e2\u0001\u00e2\u0003\u00e2"+
54173 "\u0c83\b\u00e2\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0001\u00e4"+
54174 "\u0001\u00e4\u0001\u00e4\u0005\u00e4\u0c8c\b\u00e4\n\u00e4\f\u00e4\u0c8f"+
54175 "\t\u00e4\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001"+
54176 "\u00e5\u0003\u00e5\u0c97\b\u00e5\u0001\u00e6\u0001\u00e6\u0003\u00e6\u0c9b"+
54177 "\b\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001"+
54178 "\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001\u00e7\u0001"+
54179 "\u00e7\u0001\u00e7\u0003\u00e7\u0caa\b\u00e7\u0001\u00e8\u0001\u00e8\u0001"+
54180 "\u00e8\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0cb1\b\u00e8\u0001\u00e8\u0001"+
54181 "\u00e8\u0001\u00e8\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001"+
54182 "\u00e9\u0001\u00e9\u0001\u00e9\u0003\u00e9\u0cbd\b\u00e9\u0001\u00e9\u0003"+
54183 "\u00e9\u0cc0\b\u00e9\u0001\u00e9\u0001\u00e9\u0003\u00e9\u0cc4\b\u00e9"+
54184 "\u0001\u00e9\u0001\u00e9\u0003\u00e9\u0cc8\b\u00e9\u0001\u00ea\u0001\u00ea"+
54185 "\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0003\u00ea"+
54186 "\u0cd1\b\u00ea\u0001\u00eb\u0003\u00eb\u0cd4\b\u00eb\u0001\u00eb\u0003"+
54187 "\u00eb\u0cd7\b\u00eb\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0005\u00eb\u0cdc"+
54188 "\b\u00eb\n\u00eb\f\u00eb\u0cdf\t\u00eb\u0001\u00ec\u0001\u00ec\u0003\u00ec"+
54189 "\u0ce3\b\u00ec\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed"+
54190 "\u0005\u00ed\u0cea\b\u00ed\n\u00ed\f\u00ed\u0ced\t\u00ed\u0001\u00ed\u0001"+
54191 "\u00ed\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
54192 "\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
54193 "\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0003\u00ee\u0d00\b\u00ee\u0003"+
54194 "\u00ee\u0d02\b\u00ee\u0001\u00ef\u0001\u00ef\u0001\u00f0\u0001\u00f0\u0003"+
54195 "\u00f0\u0d08\b\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0005\u00f0\u0d0d"+
54196 "\b\u00f0\n\u00f0\f\u00f0\u0d10\t\u00f0\u0001\u00f1\u0001\u00f1\u0003\u00f1"+
54197 "\u0d14\b\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0005\u00f1\u0d19\b"+
54198 "\u00f1\n\u00f1\f\u00f1\u0d1c\t\u00f1\u0001\u00f2\u0003\u00f2\u0d1f\b\u00f2"+
54199 "\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0003\u00f2\u0d25\b\u00f2"+
54200 "\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u0d2b\b\u00f3"+
54201 "\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0d30\b\u00f4\u0001\u00f4"+
54202 "\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0d36\b\u00f4\u0001\u00f4"+
54203 "\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0d3d\b\u00f4"+
54204 "\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0003\u00f5\u0d43\b\u00f5"+
54205 "\u0001\u00f5\u0001\u00f5\u0001\u00f6\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
54206 "\u0001\u00f6\u0003\u00f6\u0d4c\b\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f7"+
54207 "\u0001\u00f7\u0001\u00f7\u0003\u00f7\u0d53\b\u00f7\u0003\u00f7\u0d55\b"+
54208 "\u00f7\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0003\u00f8\u0d5b"+
54209 "\b\u00f8\u0001\u00f8\u0003\u00f8\u0d5e\b\u00f8\u0001\u00f8\u0003\u00f8"+
54210 "\u0d61\b\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f9\u0003\u00f9\u0d66\b"+
54211 "\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00fa\u0003"+
54212 "\u00fa\u0d6d\b\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fa\u0001"+
54213 "\u00fb\u0001\u00fb\u0001\u00fb\u0003\u00fb\u0d76\b\u00fb\u0001\u00fc\u0001"+
54214 "\u00fc\u0001\u00fc\u0003\u00fc\u0d7b\b\u00fc\u0001\u00fd\u0001\u00fd\u0001"+
54215 "\u00fd\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0003\u00fe\u0d84"+
54216 "\b\u00fe\u0003\u00fe\u0d86\b\u00fe\u0001\u00ff\u0001\u00ff\u0001\u00ff"+
54217 "\u0003\u00ff\u0d8b\b\u00ff\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100"+
54218 "\u0001\u0100\u0001\u0100\u0001\u0100\u0003\u0100\u0d94\b\u0100\u0003\u0100"+
54219 "\u0d96\b\u0100\u0001\u0100\u0003\u0100\u0d99\b\u0100\u0001\u0101\u0001"+
54220 "\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001"+
54221 "\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001"+
54222 "\u0101\u0001\u0101\u0001\u0101\u0003\u0101\u0dab\b\u0101\u0003\u0101\u0dad"+
54223 "\b\u0101\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001"+
54224 "\u0102\u0001\u0102\u0001\u0102\u0003\u0102\u0db7\b\u0102\u0001\u0102\u0001"+
54225 "\u0102\u0001\u0103\u0001\u0103\u0001\u0103\u0003\u0103\u0dbe\b\u0103\u0001"+
54226 "\u0103\u0003\u0103\u0dc1\b\u0103\u0001\u0103\u0001\u0103\u0003\u0103\u0dc5"+
54227 "\b\u0103\u0001\u0103\u0001\u0103\u0001\u0103\u0001\u0103\u0005\u0103\u0dcb"+
54228 "\b\u0103\n\u0103\f\u0103\u0dce\t\u0103\u0003\u0103\u0dd0\b\u0103\u0001"+
54229 "\u0104\u0001\u0104\u0003\u0104\u0dd4\b\u0104\u0001\u0104\u0001\u0104\u0001"+
54230 "\u0104\u0005\u0104\u0dd9\b\u0104\n\u0104\f\u0104\u0ddc\t\u0104\u0001\u0104"+
54231 "\u0001\u0104\u0005\u0104\u0de0\b\u0104\n\u0104\f\u0104\u0de3\t\u0104\u0001"+
54232 "\u0104\u0001\u0104\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0005"+
54233 "\u0105\u0deb\b\u0105\n\u0105\f\u0105\u0dee\t\u0105\u0001\u0105\u0001\u0105"+
54234 "\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105"+
54235 "\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105"+
54236 "\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105"+
54237 "\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0003\u0105"+
54238 "\u0e09\b\u0105\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106"+
54239 "\u0001\u0106\u0003\u0106\u0e11\b\u0106\u0001\u0107\u0001\u0107\u0001\u0107"+
54240 "\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107"+
54241 "\u0001\u0107\u0001\u0107\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108"+
54242 "\u0001\u0108\u0003\u0108\u0e23\b\u0108\u0003\u0108\u0e25\b\u0108\u0001"+
54243 "\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0003\u0108\u0e2c"+
54244 "\b\u0108\u0001\u0108\u0003\u0108\u0e2f\b\u0108\u0003\u0108\u0e31\b\u0108"+
54245 "\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0003\u0108"+
54246 "\u0e38\b\u0108\u0003\u0108\u0e3a\b\u0108\u0001\u0109\u0001\u0109\u0001"+
54247 "\u0109\u0003\u0109\u0e3f\b\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0005"+
54248 "\u0109\u0e44\b\u0109\n\u0109\f\u0109\u0e47\t\u0109\u0001\u010a\u0001\u010a"+
54249 "\u0003\u010a\u0e4b\b\u010a\u0001\u010a\u0003\u010a\u0e4e\b\u010a\u0001"+
54250 "\u010a\u0001\u010a\u0003\u010a\u0e52\b\u010a\u0001\u010b\u0001\u010b\u0001"+
54251 "\u010b\u0001\u010b\u0001\u010b\u0005\u010b\u0e59\b\u010b\n\u010b\f\u010b"+
54252 "\u0e5c\t\u010b\u0003\u010b\u0e5e\b\u010b\u0001\u010c\u0001\u010c\u0001"+
54253 "\u010c\u0001\u010c\u0005\u010c\u0e64\b\u010c\n\u010c\f\u010c\u0e67\t\u010c"+
54254 "\u0001\u010c\u0003\u010c\u0e6a\b\u010c\u0001\u010d\u0001\u010d\u0003\u010d"+
54255 "\u0e6e\b\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0003\u010d\u0e73\b"+
54256 "\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0003\u010d\u0e78\b\u010d\u0001"+
54257 "\u010e\u0001\u010e\u0003\u010e\u0e7c\b\u010e\u0001\u010e\u0001\u010e\u0001"+
54258 "\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0001\u010f\u0005\u010f\u0e85"+
54259 "\b\u010f\n\u010f\f\u010f\u0e88\t\u010f\u0001\u010f\u0001\u010f\u0001\u0110"+
54260 "\u0001\u0110\u0003\u0110\u0e8e\b\u0110\u0001\u0111\u0001\u0111\u0001\u0111"+
54261 "\u0001\u0111\u0003\u0111\u0e94\b\u0111\u0001\u0111\u0001\u0111\u0003\u0111"+
54262 "\u0e98\b\u0111\u0001\u0111\u0001\u0111\u0003\u0111\u0e9c\b\u0111\u0001"+
54263 "\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0003"+
54264 "\u0111\u0ea4\b\u0111\u0003\u0111\u0ea6\b\u0111\u0001\u0111\u0003\u0111"+
54265 "\u0ea9\b\u0111\u0001\u0111\u0001\u0111\u0001\u0112\u0001\u0112\u0001\u0112"+
54266 "\u0003\u0112\u0eb0\b\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0003\u0112"+
54267 "\u0eb5\b\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0001\u0112"+
54268 "\u0001\u0112\u0001\u0112\u0003\u0112\u0ebe\b\u0112\u0001\u0113\u0001\u0113"+
54269 "\u0001\u0113\u0003\u0113\u0ec3\b\u0113\u0001\u0113\u0001\u0113\u0001\u0113"+
54270 "\u0001\u0113\u0005\u0113\u0ec9\b\u0113\n\u0113\f\u0113\u0ecc\t\u0113\u0001"+
54271 "\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0003\u0113\u0ed2\b\u0113\u0001"+
54272 "\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0115\u0001\u0115\u0003"+
54273 "\u0115\u0eda\b\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001"+
54274 "\u0115\u0001\u0115\u0001\u0115\u0003\u0115\u0ee3\b\u0115\u0001\u0115\u0001"+
54275 "\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001"+
54276 "\u0115\u0001\u0115\u0001\u0115\u0003\u0115\u0eef\b\u0115\u0001\u0116\u0001"+
54277 "\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0001"+
54278 "\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0001\u0116\u0005\u0116\u0efd"+
54279 "\b\u0116\n\u0116\f\u0116\u0f00\t\u0116\u0003\u0116\u0f02\b\u0116\u0003"+
54280 "\u0116\u0f04\b\u0116\u0001\u0117\u0003\u0117\u0f07\b\u0117\u0001\u0117"+
54281 "\u0003\u0117\u0f0a\b\u0117\u0001\u0117\u0003\u0117\u0f0d\b\u0117\u0001"+
54282 "\u0117\u0003\u0117\u0f10\b\u0117\u0001\u0118\u0001\u0118\u0001\u0118\u0001"+
54283 "\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001"+
54284 "\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0001"+
54285 "\u0118\u0003\u0118\u0f22\b\u0118\u0001\u0119\u0001\u0119\u0001\u0119\u0003"+
54286 "\u0119\u0f27\b\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0003\u0119\u0f2c"+
54287 "\b\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0003\u0119\u0f31\b\u0119"+
54288 "\u0001\u0119\u0003\u0119\u0f34\b\u0119\u0005\u0119\u0f36\b\u0119\n\u0119"+
54289 "\f\u0119\u0f39\t\u0119\u0001\u0119\u0001\u0119\u0001\u011a\u0001\u011a"+
54290 "\u0001\u011a\u0003\u011a\u0f40\b\u011a\u0001\u011b\u0001\u011b\u0001\u011b"+
54291 "\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011b\u0005\u011b"+
54292 "\u0f4a\b\u011b\n\u011b\f\u011b\u0f4d\t\u011b\u0003\u011b\u0f4f\b\u011b"+
54293 "\u0001\u011b\u0003\u011b\u0f52\b\u011b\u0001\u011b\u0001\u011b\u0001\u011b"+
54294 "\u0001\u011b\u0001\u011b\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c"+
54295 "\u0001\u011c\u0001\u011c\u0005\u011c\u0f5f\b\u011c\n\u011c\f\u011c\u0f62"+
54296 "\t\u011c\u0003\u011c\u0f64\b\u011c\u0001\u011c\u0003\u011c\u0f67\b\u011c"+
54297 "\u0001\u011c\u0001\u011c\u0003\u011c\u0f6b\b\u011c\u0001\u011c\u0001\u011c"+
54298 "\u0003\u011c\u0f6f\b\u011c\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d"+
54299 "\u0001\u011d\u0001\u011d\u0005\u011d\u0f77\b\u011d\n\u011d\f\u011d\u0f7a"+
54300 "\t\u011d\u0003\u011d\u0f7c\b\u011d\u0001\u011d\u0003\u011d\u0f7f\b\u011d"+
54301 "\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011e"+
54302 "\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f8a\b\u011e\u0001\u011e"+
54303 "\u0005\u011e\u0f8d\b\u011e\n\u011e\f\u011e\u0f90\t\u011e\u0001\u011f\u0005"+
54304 "\u011f\u0f93\b\u011f\n\u011f\f\u011f\u0f96\t\u011f\u0001\u0120\u0003\u0120"+
54305 "\u0f99\b\u0120\u0001\u0120\u0003\u0120\u0f9c\b\u0120\u0001\u0120\u0001"+
54306 "\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001"+
54307 "\u0120\u0001\u0120\u0003\u0120\u0fa7\b\u0120\u0001\u0120\u0003\u0120\u0faa"+
54308 "\b\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0003\u0120\u0faf\b\u0120"+
54309 "\u0003\u0120\u0fb1\b\u0120\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121"+
54310 "\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121"+
54311 "\u0003\u0121\u0fbd\b\u0121\u0001\u0121\u0003\u0121\u0fc0\b\u0121\u0001"+
54312 "\u0122\u0001\u0122\u0001\u0122\u0005\u0122\u0fc5\b\u0122\n\u0122\f\u0122"+
54313 "\u0fc8\t\u0122\u0003\u0122\u0fca\b\u0122\u0001\u0123\u0001\u0123\u0003"+
54314 "\u0123\u0fce\b\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0fd2\b\u0123"+
54315 "\u0001\u0123\u0003\u0123\u0fd5\b\u0123\u0001\u0124\u0003\u0124\u0fd8\b"+
54316 "\u0124\u0001\u0124\u0001\u0124\u0003\u0124\u0fdc\b\u0124\u0001\u0124\u0001"+
54317 "\u0124\u0001\u0124\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0005"+
54318 "\u0125\u0fe5\b\u0125\n\u0125\f\u0125\u0fe8\t\u0125\u0003\u0125\u0fea\b"+
54319 "\u0125\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0003"+
54320 "\u0126\u0ff1\b\u0126\u0001\u0127\u0003\u0127\u0ff4\b\u0127\u0001\u0127"+
54321 "\u0001\u0127\u0003\u0127\u0ff8\b\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
54322 "\u0001\u0127\u0001\u0127\u0003\u0127\u0fff\b\u0127\u0001\u0127\u0001\u0127"+
54323 "\u0001\u0127\u0003\u0127\u1004\b\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
54324 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0005\u0127\u100d\b\u0127"+
54325 "\n\u0127\f\u0127\u1010\t\u0127\u0001\u0127\u0001\u0127\u0003\u0127\u1014"+
54326 "\b\u0127\u0003\u0127\u1016\b\u0127\u0001\u0128\u0001\u0128\u0001\u0128"+
54327 "\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128"+
54328 "\u0001\u0128\u0001\u0128\u0003\u0128\u1023\b\u0128\u0001\u0128\u0001\u0128"+
54329 "\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128"+
54330 "\u0001\u0128\u0003\u0128\u102e\b\u0128\u0001\u0129\u0001\u0129\u0001\u0129"+
54331 "\u0001\u0129\u0005\u0129\u1034\b\u0129\n\u0129\f\u0129\u1037\t\u0129\u0003"+
54332 "\u0129\u1039\b\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u103d\b\u0129"+
54333 "\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0003\u0129\u1043\b\u0129"+
54334 "\u0001\u012a\u0001\u012a\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
54335 "\u0005\u012b\u104b\b\u012b\n\u012b\f\u012b\u104e\t\u012b\u0001\u012c\u0001"+
54336 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0005\u012c\u1055\b\u012c\n"+
54337 "\u012c\f\u012c\u1058\t\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u105c"+
54338 "\b\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001"+
54339 "\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u1068"+
54340 "\b\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u106e"+
54341 "\b\u012d\u0001\u012d\u0003\u012d\u1071\b\u012d\u0001\u012d\u0003\u012d"+
54342 "\u1074\b\u012d\u0001\u012d\u0003\u012d\u1077\b\u012d\u0001\u012d\u0003"+
54343 "\u012d\u107a\b\u012d\u0001\u012d\u0003\u012d\u107d\b\u012d\u0001\u012d"+
54344 "\u0003\u012d\u1080\b\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u1084\b"+
54345 "\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u1089\b\u012d\u0001"+
54346 "\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u1090"+
54347 "\b\u012d\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0003"+
54348 "\u012e\u1097\b\u012e\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001"+
54349 "\u012f\u0001\u012f\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
54350 "\u0130\u0003\u0130\u10a4\b\u0130\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
54351 "\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
54352 "\u0131\u0003\u0131\u10b0\b\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
54353 "\u0131\u0003\u0131\u10b6\b\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
54354 "\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u10bf\b\u0131\u0001"+
54355 "\u0131\u0003\u0131\u10c2\b\u0131\u0001\u0132\u0001\u0132\u0003\u0132\u10c6"+
54356 "\b\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u10ca\b\u0132\u0001\u0132"+
54357 "\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0005\u0132\u10d1\b\u0132"+
54358 "\n\u0132\f\u0132\u10d4\t\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u10d8"+
54359 "\b\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001"+
54360 "\u0132\u0001\u0132\u0003\u0132\u10e1\b\u0132\u0003\u0132\u10e3\b\u0132"+
54361 "\u0001\u0132\u0001\u0132\u0001\u0132\u0003\u0132\u10e8\b\u0132\u0003\u0132"+
54362 "\u10ea\b\u0132\u0001\u0133\u0001\u0133\u0001\u0133\u0005\u0133\u10ef\b"+
54363 "\u0133\n\u0133\f\u0133\u10f2\t\u0133\u0001\u0134\u0001\u0134\u0001\u0134"+
54364 "\u0001\u0134\u0001\u0134\u0001\u0134\u0005\u0134\u10fa\b\u0134\n\u0134"+
54365 "\f\u0134\u10fd\t\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134"+
54366 "\u0001\u0134\u0001\u0134\u0003\u0134\u1105\b\u0134\u0001\u0135\u0001\u0135"+
54367 "\u0001\u0135\u0001\u0135\u0001\u0135\u0003\u0135\u110c\b\u0135\u0003\u0135"+
54368 "\u110e\b\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54369 "\u0005\u0135\u1115\b\u0135\n\u0135\f\u0135\u1118\t\u0135\u0001\u0135\u0001"+
54370 "\u0135\u0003\u0135\u111c\b\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001"+
54371 "\u0135\u0001\u0135\u0003\u0135\u1123\b\u0135\u0001\u0135\u0001\u0135\u0001"+
54372 "\u0135\u0001\u0135\u0001\u0135\u0003\u0135\u112a\b\u0135\u0001\u0135\u0001"+
54373 "\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001"+
54374 "\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001"+
54375 "\u0135\u0005\u0135\u113a\b\u0135\n\u0135\f\u0135\u113d\t\u0135\u0001\u0135"+
54376 "\u0001\u0135\u0003\u0135\u1141\b\u0135\u0001\u0135\u0001\u0135\u0003\u0135"+
54377 "\u1145\b\u0135\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54378 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54379 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54380 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54381 "\u0001\u0136\u0001\u0136\u0003\u0136\u1160\b\u0136\u0001\u0136\u0003\u0136"+
54382 "\u1163\b\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54383 "\u0001\u0136\u0001\u0136\u0003\u0136\u116c\b\u0136\u0001\u0136\u0001\u0136"+
54384 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54385 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54386 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
54387 "\u0001\u0136\u0005\u0136\u1183\b\u0136\n\u0136\f\u0136\u1186\t\u0136\u0003"+
54388 "\u0136\u1188\b\u0136\u0003\u0136\u118a\b\u0136\u0001\u0137\u0001\u0137"+
54389 "\u0001\u0137\u0003\u0137\u118f\b\u0137\u0001\u0138\u0001\u0138\u0001\u0138"+
54390 "\u0001\u0138\u0001\u0138\u0001\u0138\u0003\u0138\u1197\b\u0138\u0001\u0139"+
54391 "\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139"+
54392 "\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139"+
54393 "\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139"+
54394 "\u0003\u0139\u11ac\b\u0139\u0003\u0139\u11ae\b\u0139\u0001\u013a\u0001"+
54395 "\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0003"+
54396 "\u013a\u11b7\b\u013a\u0001\u013a\u0003\u013a\u11ba\b\u013a\u0001\u013b"+
54397 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
54398 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0005\u013b\u11c7\b\u013b"+
54399 "\n\u013b\f\u013b\u11ca\t\u013b\u0001\u013b\u0001\u013b\u0003\u013b\u11ce"+
54400 "\b\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0005"+
54401 "\u013b\u11d5\b\u013b\n\u013b\f\u013b\u11d8\t\u013b\u0001\u013b\u0001\u013b"+
54402 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
54403 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
54404 "\u0001\u013b\u0005\u013b\u11e9\b\u013b\n\u013b\f\u013b\u11ec\t\u013b\u0003"+
54405 "\u013b\u11ee\b\u013b\u0001\u013b\u0001\u013b\u0003\u013b\u11f2\b\u013b"+
54406 "\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c"+
54407 "\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0003\u013c\u11fe\b\u013c"+
54408 "\u0003\u013c\u1200\b\u013c\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
54409 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
54410 "\u0001\u013d\u0003\u013d\u120d\b\u013d\u0003\u013d\u120f\b\u013d\u0001"+
54411 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54412 "\u013e\u0001\u013e\u0003\u013e\u1219\b\u013e\u0001\u013f\u0001\u013f\u0001"+
54413 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54414 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54415 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54416 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54417 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54418 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001"+
54419 "\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003\u013f\u1246"+
54420 "\b\u013f\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0003\u0140\u124c"+
54421 "\b\u0140\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001"+
54422 "\u0141\u0001\u0141\u0003\u0141\u1255\b\u0141\u0001\u0141\u0001\u0141\u0001"+
54423 "\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001"+
54424 "\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0001\u0141\u0003\u0141\u1264"+
54425 "\b\u0141\u0001\u0142\u0001\u0142\u0003\u0142\u1268\b\u0142\u0001\u0143"+
54426 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0005\u0143\u126f\b\u0143"+
54427 "\n\u0143\f\u0143\u1272\t\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0003"+
54428 "\u0143\u1277\b\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001"+
54429 "\u0143\u0001\u0143\u0005\u0143\u127f\b\u0143\n\u0143\f\u0143\u1282\t\u0143"+
54430 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
54431 "\u0003\u0143\u128a\b\u0143\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144"+
54432 "\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0003\u0144"+
54433 "\u1295\b\u0144\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145"+
54434 "\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0003\u0145"+
54435 "\u12a1\b\u0145\u0003\u0145\u12a3\b\u0145\u0001\u0145\u0001\u0145\u0001"+
54436 "\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0003\u0145\u12ab\b\u0145\u0001"+
54437 "\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001"+
54438 "\u0146\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0003"+
54439 "\u0147\u12b9\b\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0005"+
54440 "\u0147\u12bf\b\u0147\n\u0147\f\u0147\u12c2\t\u0147\u0001\u0147\u0001\u0147"+
54441 "\u0003\u0147\u12c6\b\u0147\u0003\u0147\u12c8\b\u0147\u0001\u0148\u0001"+
54442 "\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0003"+
54443 "\u0148\u12d1\b\u0148\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0003"+
54444 "\u0149\u12d7\b\u0149\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001"+
54445 "\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001"+
54446 "\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0001"+
54447 "\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u12ec\b\u014a\u0001\u014b\u0001"+
54448 "\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0003\u014b\u12f3\b\u014b\u0001"+
54449 "\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0005\u014b\u12f9\b\u014b\n"+
54450 "\u014b\f\u014b\u12fc\t\u014b\u0001\u014b\u0001\u014b\u0003\u014b\u1300"+
54451 "\b\u014b\u0003\u014b\u1302\b\u014b\u0001\u014c\u0001\u014c\u0001\u014c"+
54452 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c"+
54453 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c"+
54454 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c"+
54455 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c"+
54456 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c"+
54457 "\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0005\u014c\u1329\b\u014c"+
54458 "\n\u014c\f\u014c\u132c\t\u014c\u0001\u014c\u0001\u014c\u0003\u014c\u1330"+
54459 "\b\u014c\u0001\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001"+
54460 "\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0001"+
54461 "\u014d\u0001\u014d\u0003\u014d\u133f\b\u014d\u0001\u014e\u0001\u014e\u0001"+
54462 "\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0003\u014e\u1347\b\u014e\u0001"+
54463 "\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001"+
54464 "\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001"+
54465 "\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001"+
54466 "\u014f\u0001\u014f\u0001\u014f\u0003\u014f\u135e\b\u014f\u0001\u0150\u0001"+
54467 "\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0003"+
54468 "\u0150\u1367\b\u0150\u0001\u0151\u0001\u0151\u0001\u0151\u0001\u0151\u0001"+
54469 "\u0151\u0001\u0151\u0003\u0151\u136f\b\u0151\u0001\u0152\u0001\u0152\u0001"+
54470 "\u0152\u0001\u0152\u0001\u0152\u0001\u0153\u0001\u0153\u0001\u0153\u0001"+
54471 "\u0153\u0003\u0153\u137a\b\u0153\u0001\u0153\u0001\u0153\u0001\u0153\u0003"+
54472 "\u0153\u137f\b\u0153\u0001\u0154\u0001\u0154\u0001\u0154\u0001\u0154\u0005"+
54473 "\u0154\u1385\b\u0154\n\u0154\f\u0154\u1388\t\u0154\u0001\u0154\u0001\u0154"+
54474 "\u0001\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0005\u0155\u1390\b\u0155"+
54475 "\n\u0155\f\u0155\u1393\t\u0155\u0001\u0155\u0001\u0155\u0001\u0156\u0001"+
54476 "\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0003\u0156\u139d"+
54477 "\b\u0156\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001\u0157\u0001"+
54478 "\u0157\u0001\u0157\u0003\u0157\u13a6\b\u0157\u0001\u0158\u0001\u0158\u0001"+
54479 "\u0158\u0001\u0158\u0001\u0158\u0003\u0158\u13ad\b\u0158\u0001\u0159\u0001"+
54480 "\u0159\u0003\u0159\u13b1\b\u0159\u0001\u015a\u0001\u015a\u0001\u015a\u0001"+
54481 "\u015a\u0003\u015a\u13b7\b\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0001"+
54482 "\u015a\u0001\u015a\u0001\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0001"+
54483 "\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0001"+
54484 "\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0003\u015b\u13cc\b\u015b\u0001"+
54485 "\u015b\u0001\u015b\u0001\u015b\u0001\u015c\u0001\u015c\u0001\u015c\u0001"+
54486 "\u015c\u0001\u015c\u0001\u015c\u0001\u015c\u0005\u015c\u13d8\b\u015c\n"+
54487 "\u015c\f\u015c\u13db\t\u015c\u0003\u015c\u13dd\b\u015c\u0001\u015c\u0001"+
54488 "\u015c\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0005"+
54489 "\u015d\u13e6\b\u015d\n\u015d\f\u015d\u13e9\t\u015d\u0001\u015d\u0001\u015d"+
54490 "\u0003\u015d\u13ed\b\u015d\u0001\u015e\u0003\u015e\u13f0\b\u015e\u0001"+
54491 "\u015e\u0001\u015e\u0003\u015e\u13f4\b\u015e\u0001\u015e\u0003\u015e\u13f7"+
54492 "\b\u015e\u0001\u015e\u0001\u015e\u0003\u015e\u13fb\b\u015e\u0001\u015e"+
54493 "\u0003\u015e\u13fe\b\u015e\u0001\u015e\u0003\u015e\u1401\b\u015e\u0001"+
54494 "\u015e\u0001\u015e\u0001\u015e\u0001\u015e\u0003\u015e\u1407\b\u015e\u0001"+
54495 "\u015f\u0003\u015f\u140a\b\u015f\u0001\u015f\u0003\u015f\u140d\b\u015f"+
54496 "\u0001\u015f\u0001\u015f\u0001\u015f\u0001\u0160\u0003\u0160\u1413\b\u0160"+
54497 "\u0001\u0160\u0003\u0160\u1416\b\u0160\u0001\u0160\u0001\u0160\u0001\u0160"+
54498 "\u0001\u0160\u0005\u0160\u141c\b\u0160\n\u0160\f\u0160\u141f\t\u0160\u0001"+
54499 "\u0161\u0003\u0161\u1422\b\u0161\u0001\u0161\u0003\u0161\u1425\b\u0161"+
54500 "\u0001\u0161\u0001\u0161\u0001\u0162\u0003\u0162\u142a\b\u0162\u0001\u0162"+
54501 "\u0001\u0162\u0001\u0163\u0003\u0163\u142f\b\u0163\u0001\u0163\u0001\u0163"+
54502 "\u0004\u0163\u1433\b\u0163\u000b\u0163\f\u0163\u1434\u0001\u0163\u0001"+
54503 "\u0163\u0001\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0005"+
54504 "\u0164\u143e\b\u0164\n\u0164\f\u0164\u1441\t\u0164\u0003\u0164\u1443\b"+
54505 "\u0164\u0001\u0165\u0003\u0165\u1446\b\u0165\u0001\u0165\u0001\u0165\u0003"+
54506 "\u0165\u144a\b\u0165\u0001\u0165\u0001\u0165\u0003\u0165\u144e\b\u0165"+
54507 "\u0001\u0165\u0001\u0165\u0003\u0165\u1452\b\u0165\u0001\u0165\u0003\u0165"+
54508 "\u1455\b\u0165\u0001\u0165\u0003\u0165\u1458\b\u0165\u0001\u0166\u0001"+
54509 "\u0166\u0003\u0166\u145c\b\u0166\u0001\u0166\u0001\u0166\u0003\u0166\u1460"+
54510 "\b\u0166\u0001\u0166\u0001\u0166\u0001\u0167\u0001\u0167\u0001\u0167\u0001"+
54511 "\u0167\u0005\u0167\u1468\b\u0167\n\u0167\f\u0167\u146b\t\u0167\u0001\u0167"+
54512 "\u0003\u0167\u146e\b\u0167\u0001\u0168\u0001\u0168\u0001\u0168\u0001\u0168"+
54513 "\u0005\u0168\u1474\b\u0168\n\u0168\f\u0168\u1477\t\u0168\u0001\u0168\u0001"+
54514 "\u0168\u0001\u0168\u0001\u0168\u0001\u0168\u0003\u0168\u147e\b\u0168\u0001"+
54515 "\u0169\u0001\u0169\u0003\u0169\u1482\b\u0169\u0001\u016a\u0003\u016a\u1485"+
54516 "\b\u016a\u0001\u016a\u0001\u016a\u0003\u016a\u1489\b\u016a\u0001\u016a"+
54517 "\u0001\u016a\u0003\u016a\u148d\b\u016a\u0001\u016a\u0003\u016a\u1490\b"+
54518 "\u016a\u0001\u016a\u0003\u016a\u1493\b\u016a\u0001\u016a\u0003\u016a\u1496"+
54519 "\b\u016a\u0001\u016b\u0001\u016b\u0001\u016b\u0001\u016c\u0003\u016c\u149c"+
54520 "\b\u016c\u0001\u016c\u0003\u016c\u149f\b\u016c\u0001\u016c\u0001\u016c"+
54521 "\u0003\u016c\u14a3\b\u016c\u0001\u016c\u0003\u016c\u14a6\b\u016c\u0001"+
54522 "\u016c\u0003\u016c\u14a9\b\u016c\u0001\u016d\u0001\u016d\u0001\u016d\u0001"+
54523 "\u016d\u0001\u016d\u0001\u016d\u0001\u016d\u0001\u016d\u0001\u016d\u0003"+
54524 "\u016d\u14b4\b\u016d\u0001\u016e\u0001\u016e\u0003\u016e\u14b8\b\u016e"+
54525 "\u0001\u016e\u0001\u016e\u0001\u016e\u0003\u016e\u14bd\b\u016e\u0005\u016e"+
54526 "\u14bf\b\u016e\n\u016e\f\u016e\u14c2\t\u016e\u0001\u016f\u0001\u016f\u0001"+
54527 "\u0170\u0001\u0170\u0001\u0170\u0003\u0170\u14c9\b\u0170\u0001\u0170\u0001"+
54528 "\u0170\u0003\u0170\u14cd\b\u0170\u0001\u0170\u0005\u0170\u14d0\b\u0170"+
54529 "\n\u0170\f\u0170\u14d3\t\u0170\u0001\u0171\u0003\u0171\u14d6\b\u0171\u0001"+
54530 "\u0171\u0001\u0171\u0003\u0171\u14da\b\u0171\u0001\u0171\u0001\u0171\u0003"+
54531 "\u0171\u14de\b\u0171\u0001\u0171\u0001\u0171\u0003\u0171\u14e2\b\u0171"+
54532 "\u0001\u0171\u0003\u0171\u14e5\b\u0171\u0003\u0171\u14e7\b\u0171\u0001"+
54533 "\u0171\u0003\u0171\u14ea\b\u0171\u0001\u0171\u0003\u0171\u14ed\b\u0171"+
54534 "\u0001\u0171\u0003\u0171\u14f0\b\u0171\u0001\u0171\u0003\u0171\u14f3\b"+
54535 "\u0171\u0001\u0171\u0003\u0171\u14f6\b\u0171\u0001\u0172\u0001\u0172\u0001"+
54536 "\u0173\u0001\u0173\u0001\u0173\u0003\u0173\u14fd\b\u0173\u0003\u0173\u14ff"+
54537 "\b\u0173\u0001\u0173\u0001\u0173\u0005\u0173\u1503\b\u0173\n\u0173\f\u0173"+
54538 "\u1506\t\u0173\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174"+
54539 "\u0003\u0174\u150d\b\u0174\u0001\u0174\u0001\u0174\u0003\u0174\u1511\b"+
54540 "\u0174\u0001\u0174\u0001\u0174\u0003\u0174\u1515\b\u0174\u0001\u0174\u0003"+
54541 "\u0174\u1518\b\u0174\u0001\u0174\u0003\u0174\u151b\b\u0174\u0003\u0174"+
54542 "\u151d\b\u0174\u0001\u0175\u0001\u0175\u0003\u0175\u1521\b\u0175\u0001"+
54543 "\u0175\u0001\u0175\u0003\u0175\u1525\b\u0175\u0001\u0175\u0003\u0175\u1528"+
54544 "\b\u0175\u0001\u0175\u0001\u0175\u0003\u0175\u152c\b\u0175\u0001\u0175"+
54545 "\u0001\u0175\u0001\u0175\u0001\u0175\u0001\u0175\u0001\u0175\u0001\u0175"+
54546 "\u0001\u0175\u0003\u0175\u1536\b\u0175\u0001\u0175\u0003\u0175\u1539\b"+
54547 "\u0175\u0003\u0175\u153b\b\u0175\u0001\u0176\u0001\u0176\u0003\u0176\u153f"+
54548 "\b\u0176\u0001\u0177\u0001\u0177\u0001\u0178\u0001\u0178\u0001\u0178\u0001"+
54549 "\u0179\u0001\u0179\u0001\u0179\u0001\u017a\u0001\u017a\u0001\u017a\u0001"+
54550 "\u017b\u0001\u017b\u0001\u017b\u0005\u017b\u154f\b\u017b\n\u017b\f\u017b"+
54551 "\u1552\t\u017b\u0001\u017c\u0001\u017c\u0005\u017c\u1556\b\u017c\n\u017c"+
54552 "\f\u017c\u1559\t\u017c\u0001\u017d\u0001\u017d\u0003\u017d\u155d\b\u017d"+
54553 "\u0001\u017d\u0003\u017d\u1560\b\u017d\u0001\u017d\u0001\u017d\u0003\u017d"+
54554 "\u1564\b\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u1568\b\u017d\u0001"+
54555 "\u017d\u0001\u017d\u0003\u017d\u156c\b\u017d\u0001\u017d\u0003\u017d\u156f"+
54556 "\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d\u1575"+
54557 "\b\u017d\u0001\u017e\u0003\u017e\u1578\b\u017e\u0001\u017e\u0003\u017e"+
54558 "\u157b\b\u017e\u0001\u017e\u0001\u017e\u0001\u017e\u0001\u017e\u0003\u017e"+
54559 "\u1581\b\u017e\u0001\u017e\u0003\u017e\u1584\b\u017e\u0001\u017e\u0001"+
54560 "\u017e\u0003\u017e\u1588\b\u017e\u0001\u017e\u0001\u017e\u0001\u017e\u0003"+
54561 "\u017e\u158d\b\u017e\u0001\u017e\u0001\u017e\u0001\u017e\u0001\u017e\u0003"+
54562 "\u017e\u1593\b\u017e\u0003\u017e\u1595\b\u017e\u0001\u017f\u0001\u017f"+
54563 "\u0001\u017f\u0001\u017f\u0003\u017f\u159b\b\u017f\u0001\u0180\u0001\u0180"+
54564 "\u0001\u0180\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181\u0001\u0181"+
54565 "\u0005\u0181\u15a5\b\u0181\n\u0181\f\u0181\u15a8\t\u0181\u0001\u0182\u0001"+
54566 "\u0182\u0001\u0182\u0001\u0183\u0001\u0183\u0001\u0183\u0001\u0183\u0001"+
54567 "\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001\u0184\u0001"+
54568 "\u0184\u0001\u0184\u0001\u0184\u0005\u0184\u15ba\b\u0184\n\u0184\f\u0184"+
54569 "\u15bd\t\u0184\u0001\u0184\u0001\u0184\u0001\u0185\u0001\u0185\u0001\u0185"+
54570 "\u0001\u0186\u0001\u0186\u0001\u0186\u0005\u0186\u15c7\b\u0186\n\u0186"+
54571 "\f\u0186\u15ca\t\u0186\u0001\u0187\u0001\u0187\u0003\u0187\u15ce\b\u0187"+
54572 "\u0001\u0187\u0001\u0187\u0001\u0187\u0001\u0188\u0001\u0188\u0001\u0188"+
54573 "\u0003\u0188\u15d6\b\u0188\u0001\u0188\u0001\u0188\u0001\u0188\u0003\u0188"+
54574 "\u15db\b\u0188\u0003\u0188\u15dd\b\u0188\u0001\u0189\u0001\u0189\u0003"+
54575 "\u0189\u15e1\b\u0189\u0001\u0189\u0001\u0189\u0001\u0189\u0003\u0189\u15e6"+
54576 "\b\u0189\u0005\u0189\u15e8\b\u0189\n\u0189\f\u0189\u15eb\t\u0189\u0001"+
54577 "\u018a\u0001\u018a\u0003\u018a\u15ef\b\u018a\u0001\u018a\u0003\u018a\u15f2"+
54578 "\b\u018a\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0003\u018b\u15f8"+
54579 "\b\u018b\u0001\u018b\u0003\u018b\u15fb\b\u018b\u0001\u018c\u0001\u018c"+
54580 "\u0001\u018c\u0001\u018d\u0001\u018d\u0001\u018e\u0001\u018e\u0001\u018e"+
54581 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54582 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54583 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54584 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54585 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54586 "\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54587 "\u0001\u018e\u0005\u018e\u162a\b\u018e\n\u018e\f\u018e\u162d\t\u018e\u0001"+
54588 "\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001"+
54589 "\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001"+
54590 "\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0005\u018e\u1640"+
54591 "\b\u018e\n\u018e\f\u018e\u1643\t\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
54592 "\u0001\u018e\u0003\u018e\u1649\b\u018e\u0001\u018f\u0001\u018f\u0001\u018f"+
54593 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54594 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54595 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54596 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54597 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54598 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54599 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54600 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
54601 "\u0001\u018f\u0001\u018f\u0001\u018f\u0003\u018f\u1681\b\u018f\u0001\u0190"+
54602 "\u0001\u0190\u0001\u0190\u0001\u0190\u0003\u0190\u1687\b\u0190\u0001\u0191"+
54603 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0003\u0191"+
54604 "\u168f\b\u0191\u0001\u0191\u0003\u0191\u1692\b\u0191\u0001\u0191\u0001"+
54605 "\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001"+
54606 "\u0191\u0003\u0191\u169c\b\u0191\u0003\u0191\u169e\b\u0191\u0003\u0191"+
54607 "\u16a0\b\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0003\u0191\u16a5\b"+
54608 "\u0191\u0003\u0191\u16a7\b\u0191\u0003\u0191\u16a9\b\u0191\u0001\u0191"+
54609 "\u0001\u0191\u0001\u0191\u0001\u0191\u0003\u0191\u16af\b\u0191\u0003\u0191"+
54610 "\u16b1\b\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
54611 "\u0003\u0191\u16b8\b\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
54612 "\u0003\u0191\u16be\b\u0191\u0003\u0191\u16c0\b\u0191\u0003\u0191\u16c2"+
54613 "\b\u0191\u0003\u0191\u16c4\b\u0191\u0001\u0192\u0001\u0192\u0001\u0192"+
54614 "\u0003\u0192\u16c9\b\u0192\u0001\u0192\u0001\u0192\u0003\u0192\u16cd\b"+
54615 "\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001"+
54616 "\u0192\u0003\u0192\u16d5\b\u0192\u0003\u0192\u16d7\b\u0192\u0001\u0193"+
54617 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
54618 "\u0001\u0193\u0003\u0193\u16e1\b\u0193\u0003\u0193\u16e3\b\u0193\u0001"+
54619 "\u0193\u0001\u0193\u0003\u0193\u16e7\b\u0193\u0001\u0193\u0001\u0193\u0003"+
54620 "\u0193\u16eb\b\u0193\u0003\u0193\u16ed\b\u0193\u0001\u0194\u0001\u0194"+
54621 "\u0001\u0194\u0003\u0194\u16f2\b\u0194\u0003\u0194\u16f4\b\u0194\u0001"+
54622 "\u0194\u0003\u0194\u16f7\b\u0194\u0001\u0195\u0001\u0195\u0001\u0195\u0001"+
54623 "\u0195\u0001\u0195\u0005\u0195\u16fe\b\u0195\n\u0195\f\u0195\u1701\t\u0195"+
54624 "\u0001\u0195\u0001\u0195\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196"+
54625 "\u0001\u0196\u0003\u0196\u170a\b\u0196\u0001\u0197\u0001\u0197\u0001\u0198"+
54626 "\u0001\u0198\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u019a\u0001\u019a"+
54627 "\u0001\u019a\u0003\u019a\u1716\b\u019a\u0001\u019b\u0001\u019b\u0001\u019b"+
54628 "\u0003\u019b\u171b\b\u019b\u0001\u019b\u0001\u019b\u0001\u019b\u0001\u019b"+
54629 "\u0005\u019b\u1721\b\u019b\n\u019b\f\u019b\u1724\t\u019b\u0001\u019b\u0001"+
54630 "\u019b\u0001\u019b\u0003\u019b\u1729\b\u019b\u0001\u019b\u0001\u019b\u0003"+
54631 "\u019b\u172d\b\u019b\u0001\u019c\u0001\u019c\u0001\u019c\u0003\u019c\u1732"+
54632 "\b\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0005\u019c\u1738"+
54633 "\b\u019c\n\u019c\f\u019c\u173b\t\u019c\u0001\u019c\u0001\u019c\u0001\u019c"+
54634 "\u0003\u019c\u1740\b\u019c\u0001\u019d\u0001\u019d\u0003\u019d\u1744\b"+
54635 "\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0003\u019d\u1749\b\u019d\u0005"+
54636 "\u019d\u174b\b\u019d\n\u019d\f\u019d\u174e\t\u019d\u0001\u019e\u0001\u019e"+
54637 "\u0001\u019e\u0001\u019e\u0003\u019e\u1754\b\u019e\u0001\u019e\u0001\u019e"+
54638 "\u0001\u019f\u0001\u019f\u0001\u019f\u0005\u019f\u175b\b\u019f\n\u019f"+
54639 "\f\u019f\u175e\t\u019f\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0"+
54640 "\u0003\u01a0\u1764\b\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a1\u0001\u01a1"+
54641 "\u0001\u01a1\u0003\u01a1\u176b\b\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a2"+
54642 "\u0001\u01a2\u0001\u01a3\u0001\u01a3\u0003\u01a3\u1773\b\u01a3\u0001\u01a3"+
54643 "\u0001\u01a3\u0003\u01a3\u1777\b\u01a3\u0001\u01a4\u0001\u01a4\u0001\u01a4"+
54644 "\u0003\u01a4\u177c\b\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4"+
54645 "\u0005\u01a4\u1782\b\u01a4\n\u01a4\f\u01a4\u1785\t\u01a4\u0001\u01a4\u0003"+
54646 "\u01a4\u1788\b\u01a4\u0001\u01a4\u0001\u01a4\u0003\u01a4\u178c\b\u01a4"+
54647 "\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0003\u01a5\u1791\b\u01a5\u0001\u01a5"+
54648 "\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0005\u01a5\u1797\b\u01a5\n\u01a5"+
54649 "\f\u01a5\u179a\t\u01a5\u0001\u01a5\u0003\u01a5\u179d\b\u01a5\u0001\u01a6"+
54650 "\u0001\u01a6\u0001\u01a6\u0003\u01a6\u17a2\b\u01a6\u0001\u01a7\u0001\u01a7"+
54651 "\u0001\u01a7\u0003\u01a7\u17a7\b\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
54652 "\u0001\u01a7\u0005\u01a7\u17ad\b\u01a7\n\u01a7\f\u01a7\u17b0\t\u01a7\u0001"+
54653 "\u01a7\u0003\u01a7\u17b3\b\u01a7\u0001\u01a7\u0001\u01a7\u0003\u01a7\u17b7"+
54654 "\b\u01a7\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003\u01a8\u17bc\b\u01a8"+
54655 "\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0005\u01a8\u17c2\b\u01a8"+
54656 "\n\u01a8\f\u01a8\u17c5\t\u01a8\u0001\u01a8\u0003\u01a8\u17c8\b\u01a8\u0001"+
54657 "\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01aa\u0001\u01aa\u0003"+
54658 "\u01aa\u17d0\b\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
54659 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
54660 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
54661 "\u01aa\u0001\u01aa\u0001\u01aa\u0003\u01aa\u17e5\b\u01aa\u0001\u01ab\u0001"+
54662 "\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001"+
54663 "\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001"+
54664 "\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u17f7\b\u01ab\u0001\u01ac\u0001"+
54665 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54666 "\u01ac\u0001\u01ac\u0003\u01ac\u1802\b\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54667 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54668 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54669 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0003\u01ac\u1817"+
54670 "\b\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54671 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54672 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54673 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54674 "\u01ac\u0003\u01ac\u1831\b\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54675 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54676 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0001"+
54677 "\u01ac\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0003\u01ac\u1846\b\u01ac\u0001"+
54678 "\u01ad\u0001\u01ad\u0003\u01ad\u184a\b\u01ad\u0001\u01ad\u0001\u01ad\u0001"+
54679 "\u01ad\u0003\u01ad\u184f\b\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001"+
54680 "\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0003\u01ad\u1858\b\u01ad\u0003"+
54681 "\u01ad\u185a\b\u01ad\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54682 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54683 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0003"+
54684 "\u01ae\u186c\b\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54685 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54686 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54687 "\u01ae\u0001\u01ae\u0003\u01ae\u1880\b\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54688 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54689 "\u01ae\u0003\u01ae\u188b\b\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54690 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54691 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54692 "\u01ae\u0001\u01ae\u0003\u01ae\u189e\b\u01ae\u0001\u01ae\u0001\u01ae\u0003"+
54693 "\u01ae\u18a2\b\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54694 "\u01ae\u0001\u01ae\u0003\u01ae\u18aa\b\u01ae\u0001\u01ae\u0001\u01ae\u0003"+
54695 "\u01ae\u18ae\b\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54696 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18b9"+
54697 "\b\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54698 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54699 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54700 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54701 "\u01ae\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18d5\b\u01ae\u0001\u01ae\u0001"+
54702 "\u01ae\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18db\b\u01ae\u0001\u01ae\u0001"+
54703 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54704 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54705 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54706 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54707 "\u01ae\u0001\u01ae\u0003\u01ae\u18f8\b\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54708 "\u01ae\u0001\u01ae\u0001\u01ae\u0003\u01ae\u18ff\b\u01ae\u0001\u01ae\u0001"+
54709 "\u01ae\u0003\u01ae\u1903\b\u01ae\u0001\u01af\u0001\u01af\u0001\u01af\u0003"+
54710 "\u01af\u1908\b\u01af\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001"+
54711 "\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0003\u01b0\u1912\b\u01b0\u0001"+
54712 "\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001"+
54713 "\u01b1\u0001\u01b1\u0001\u01b1\u0003\u01b1\u191d\b\u01b1\u0001\u01b2\u0001"+
54714 "\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001"+
54715 "\u01b2\u0003\u01b2\u1927\b\u01b2\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0001"+
54716 "\u01b3\u0001\u01b3\u0001\u01b3\u0001\u01b3\u0003\u01b3\u1930\b\u01b3\u0001"+
54717 "\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001"+
54718 "\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001"+
54719 "\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001"+
54720 "\u01b4\u0001\u01b4\u0003\u01b4\u1946\b\u01b4\u0001\u01b5\u0001\u01b5\u0001"+
54721 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
54722 "\u01b5\u0001\u01b5\u0001\u01b5\u0003\u01b5\u1953\b\u01b5\u0001\u01b6\u0001"+
54723 "\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0003\u01b6\u195a\b\u01b6\u0001"+
54724 "\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001"+
54725 "\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0003\u01b7\u1966\b\u01b7\u0001"+
54726 "\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001"+
54727 "\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0003\u01b8\u1973"+
54728 "\b\u01b8\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001"+
54729 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0003"+
54730 "\u01b9\u1980\b\u01b9\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001"+
54731 "\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0003\u01ba\u198b"+
54732 "\b\u01ba\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001"+
54733 "\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0003\u01bb\u1997"+
54734 "\b\u01bb\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0003\u01bc\u199d"+
54735 "\b\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0003\u01bc\u19a3"+
54736 "\b\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0003\u01bc\u19a9"+
54737 "\b\u01bc\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001"+
54738 "\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0003\u01bd\u19b5"+
54739 "\b\u01bd\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001"+
54740 "\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0003"+
54741 "\u01be\u19c2\b\u01be\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001"+
54742 "\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001\u01bf\u0001"+
54743 "\u01bf\u0003\u01bf\u19cf\b\u01bf\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001"+
54744 "\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001"+
54745 "\u01c0\u0003\u01c0\u19db\b\u01c0\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001"+
54746 "\u01c1\u0003\u01c1\u19e1\b\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001"+
54747 "\u01c1\u0003\u01c1\u19e7\b\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001"+
54748 "\u01c1\u0001\u01c1\u0003\u01c1\u19ee\b\u01c1\u0001\u01c2\u0001\u01c2\u0003"+
54749 "\u01c2\u19f2\b\u01c2\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001"+
54750 "\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001"+
54751 "\u01c3\u0003\u01c3\u19ff\b\u01c3\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001"+
54752 "\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0001"+
54753 "\u01c4\u0001\u01c4\u0003\u01c4\u1a0c\b\u01c4\u0001\u01c5\u0001\u01c5\u0001"+
54754 "\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0003\u01c5\u1a15"+
54755 "\b\u01c5\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54756 "\u01c6\u0001\u01c6\u0001\u01c6\u0003\u01c6\u1a1f\b\u01c6\u0001\u01c7\u0001"+
54757 "\u01c7\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c9\u0001"+
54758 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54759 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54760 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54761 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54762 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54763 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
54764 "\u01c9\u0001\u01c9\u0001\u01c9\u0003\u01c9\u1a4f\b\u01c9\u0001\u01ca\u0001"+
54765 "\u01ca\u0001\u01cb\u0001\u01cb\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001"+
54766 "\u01cc\u0003\u01cc\u1a59\b\u01cc\u0003\u01cc\u1a5b\b\u01cc\u0001\u01cd"+
54767 "\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd"+
54768 "\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0003\u01cd\u1a67\b\u01cd\u0001\u01ce"+
54769 "\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0003\u01ce\u1a6d\b\u01ce\u0001\u01ce"+
54770 "\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0005\u01ce\u1a73\b\u01ce\n\u01ce"+
54771 "\f\u01ce\u1a76\t\u01ce\u0003\u01ce\u1a78\b\u01ce\u0001\u01cf\u0001\u01cf"+
54772 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0005\u01cf\u1a7f\b\u01cf\n\u01cf"+
54773 "\f\u01cf\u1a82\t\u01cf\u0003\u01cf\u1a84\b\u01cf\u0001\u01cf\u0001\u01cf"+
54774 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf"+
54775 "\u0001\u01cf\u0005\u01cf\u1a8f\b\u01cf\n\u01cf\f\u01cf\u1a92\t\u01cf\u0003"+
54776 "\u01cf\u1a94\b\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001"+
54777 "\u01cf\u0003\u01cf\u1a9b\b\u01cf\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
54778 "\u01d0\u0003\u01d0\u1aa1\b\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
54779 "\u01d0\u0001\u01d0\u0003\u01d0\u1aa8\b\u01d0\u0001\u01d0\u0001\u01d0\u0001"+
54780 "\u01d0\u0001\u01d0\u0005\u01d0\u1aae\b\u01d0\n\u01d0\f\u01d0\u1ab1\t\u01d0"+
54781 "\u0003\u01d0\u1ab3\b\u01d0\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1"+
54782 "\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0005\u01d1\u1abc\b\u01d1\n\u01d1"+
54783 "\f\u01d1\u1abf\t\u01d1\u0003\u01d1\u1ac1\b\u01d1\u0001\u01d1\u0001\u01d1"+
54784 "\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0003\u01d1"+
54785 "\u1aca\b\u01d1\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d2"+
54786 "\u0001\u01d2\u0001\u01d2\u0003\u01d2\u1ad3\b\u01d2\u0001\u01d2\u0001\u01d2"+
54787 "\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0003\u01d2\u1adb\b\u01d2"+
54788 "\u0003\u01d2\u1add\b\u01d2\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3"+
54789 "\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0003\u01d3\u1ae6\b\u01d3\u0001\u01d3"+
54790 "\u0001\u01d3\u0001\u01d3\u0003\u01d3\u1aeb\b\u01d3\u0003\u01d3\u1aed\b"+
54791 "\u01d3\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0003\u01d4\u1af3"+
54792 "\b\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001"+
54793 "\u01d4\u0001\u01d4\u0005\u01d4\u1afc\b\u01d4\n\u01d4\f\u01d4\u1aff\t\u01d4"+
54794 "\u0003\u01d4\u1b01\b\u01d4\u0003\u01d4\u1b03\b\u01d4\u0001\u01d5\u0001"+
54795 "\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0003\u01d5\u1b0b"+
54796 "\b\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0003\u01d5\u1b11"+
54797 "\b\u01d5\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001"+
54798 "\u01d6\u0001\u01d6\u0001\u01d6\u0003\u01d6\u1b1b\b\u01d6\u0001\u01d7\u0001"+
54799 "\u01d7\u0001\u01d8\u0001\u01d8\u0001\u01d9\u0001\u01d9\u0001\u01da\u0001"+
54800 "\u01da\u0001\u01da\u0003\u01da\u1b26\b\u01da\u0001\u01db\u0001\u01db\u0001"+
54801 "\u01db\u0003\u01db\u1b2b\b\u01db\u0001\u01db\u0001\u01db\u0001\u01dc\u0001"+
54802 "\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0005"+
54803 "\u01dc\u1b36\b\u01dc\n\u01dc\f\u01dc\u1b39\t\u01dc\u0001\u01dc\u0001\u01dc"+
54804 "\u0001\u01dc\u0003\u01dc\u1b3e\b\u01dc\u0001\u01dd\u0001\u01dd\u0001\u01dd"+
54805 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1b47\b\u01dd"+
54806 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd"+
54807 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1b52\b\u01dd\u0001\u01dd"+
54808 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1b58\b\u01dd\u0001\u01dd"+
54809 "\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1b5d\b\u01dd\u0003\u01dd\u1b5f\b"+
54810 "\u01dd\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0003"+
54811 "\u01de\u1b66\b\u01de\u0001\u01df\u0001\u01df\u0001\u01df\u0003\u01df\u1b6b"+
54812 "\b\u01df\u0001\u01df\u0001\u01df\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001"+
54813 "\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001"+
54814 "\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0003\u01e0\u1b7c\b\u01e0\u0001"+
54815 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
54816 "\u01e1\u0001\u01e1\u0003\u01e1\u1b86\b\u01e1\u0001\u01e2\u0001\u01e2\u0001"+
54817 "\u01e2\u0001\u01e2\u0003\u01e2\u1b8c\b\u01e2\u0001\u01e3\u0001\u01e3\u0001"+
54818 "\u01e3\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0003\u01e3\u1b94\b\u01e3\u0001"+
54819 "\u01e3\u0003\u01e3\u1b97\b\u01e3\u0001\u01e3\u0001\u01e3\u0001\u01e3\u0001"+
54820 "\u01e3\u0005\u01e3\u1b9d\b\u01e3\n\u01e3\f\u01e3\u1ba0\t\u01e3\u0003\u01e3"+
54821 "\u1ba2\b\u01e3\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4"+
54822 "\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4"+
54823 "\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4"+
54824 "\u0001\u01e4\u0003\u01e4\u1bb6\b\u01e4\u0001\u01e5\u0001\u01e5\u0001\u01e6"+
54825 "\u0001\u01e6\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7"+
54826 "\u0005\u01e7\u1bc1\b\u01e7\n\u01e7\f\u01e7\u1bc4\t\u01e7\u0003\u01e7\u1bc6"+
54827 "\b\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0003"+
54828 "\u01e7\u1bcd\b\u01e7\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001"+
54829 "\u01e8\u0001\u01e8\u0003\u01e8\u1bd5\b\u01e8\u0001\u01e9\u0001\u01e9\u0001"+
54830 "\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0005\u01e9\u1bde"+
54831 "\b\u01e9\n\u01e9\f\u01e9\u1be1\t\u01e9\u0003\u01e9\u1be3\b\u01e9\u0001"+
54832 "\u01ea\u0001\u01ea\u0001\u01ea\u0001\u01ea\u0001\u01ea\u0001\u01ea\u0001"+
54833 "\u01ea\u0003\u01ea\u1bec\b\u01ea\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0003"+
54834 "\u01eb\u1bf1\b\u01eb\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0005"+
54835 "\u01eb\u1bf7\b\u01eb\n\u01eb\f\u01eb\u1bfa\t\u01eb\u0001\u01ec\u0001\u01ec"+
54836 "\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0001\u01ec"+
54837 "\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0003\u01ec\u1c08\b\u01ec"+
54838 "\u0001\u01ed\u0001\u01ed\u0001\u01ed\u0001\u01ee\u0001\u01ee\u0001\u01ee"+
54839 "\u0001\u01ee\u0001\u01ee\u0001\u01ee\u0001\u01ee\u0003\u01ee\u1c14\b\u01ee"+
54840 "\u0001\u01ef\u0001\u01ef\u0001\u01ef\u0001\u01ef\u0003\u01ef\u1c1a\b\u01ef"+
54841 "\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0003\u01f0\u1c20\b\u01f0"+
54842 "\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0005\u01f0\u1c26\b\u01f0"+
54843 "\n\u01f0\f\u01f0\u1c29\t\u01f0\u0003\u01f0\u1c2b\b\u01f0\u0001\u01f1\u0001"+
54844 "\u01f1\u0001\u01f1\u0001\u01f1\u0001\u01f1\u0001\u01f1\u0003\u01f1\u1c33"+
54845 "\b\u01f1\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f3\u0001"+
54846 "\u01f3\u0001\u01f3\u0001\u01f3\u0001\u01f3\u0001\u01f3\u0001\u01f3\u0001"+
54847 "\u01f3\u0005\u01f3\u1c41\b\u01f3\n\u01f3\f\u01f3\u1c44\t\u01f3\u0001\u01f3"+
54848 "\u0003\u01f3\u1c47\b\u01f3\u0001\u01f4\u0001\u01f4\u0001\u01f5\u0001\u01f5"+
54849 "\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0003\u01f5\u1c51\b\u01f5"+
54850 "\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0003\u01f5"+
54851 "\u1c58\b\u01f5\u0003\u01f5\u1c5a\b\u01f5\u0001\u01f5\u0001\u01f5\u0001"+
54852 "\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001"+
54853 "\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001"+
54854 "\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0003"+
54855 "\u01f5\u1c70\b\u01f5\u0001\u01f6\u0001\u01f6\u0001\u01f7\u0001\u01f7\u0001"+
54856 "\u01f7\u0001\u01f7\u0001\u01f7\u0001\u01f7\u0003\u01f7\u1c7a\b\u01f7\u0001"+
54857 "\u01f8\u0001\u01f8\u0001\u01f8\u0001\u01f8\u0001\u01f8\u0003\u01f8\u1c81"+
54858 "\b\u01f8\u0001\u01f8\u0000\u0004blrt\u01f9\u0000\u0002\u0004\u0006\b\n"+
54859 "\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246"+
54860 "8:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a"+
54861 "\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2"+
54862 "\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba"+
54863 "\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2"+
54864 "\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea"+
54865 "\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102"+
54866 "\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a"+
54867 "\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132"+
54868 "\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a"+
54869 "\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162"+
54870 "\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a"+
54871 "\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192"+
54872 "\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa"+
54873 "\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2"+
54874 "\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da"+
54875 "\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2"+
54876 "\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a"+
54877 "\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222"+
54878 "\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a"+
54879 "\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252"+
54880 "\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a"+
54881 "\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282"+
54882 "\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a"+
54883 "\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2"+
54884 "\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca"+
54885 "\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2"+
54886 "\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa"+
54887 "\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312"+
54888 "\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a"+
54889 "\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342"+
54890 "\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a"+
54891 "\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372"+
54892 "\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a"+
54893 "\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2"+
54894 "\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba"+
54895 "\u03bc\u03be\u03c0\u03c2\u03c4\u03c6\u03c8\u03ca\u03cc\u03ce\u03d0\u03d2"+
54896 "\u03d4\u03d6\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea"+
54897 "\u03ec\u03ee\u03f0\u0000h\u0001\u0000ab\u0002\u0000\u0108\u0108\u0143"+
54898 "\u0143\u0002\u0000\u02d4\u02d4\u02db\u02db\u0001\u0000\u000f\u0010\u0001"+
54899 "\u0000\u0087\u0089\u0001\u0000mn4\u000056==EGRT\\\\bbvv{|\u0080\u0081"+
54900 "\u0085\u0085\u0087\u0087\u0089\u0090\u0093\u0099\u009c\u009d\u009f\u009f"+
54901 "\u00a1\u00a2\u00a4\u00a6\u00a9\u00aa\u00ad\u00ad\u00b0\u00b0\u00b8\u00b8"+
54902 "\u00c2\u00c2\u00cb\u00cc\u00d0\u00d1\u00d5\u00d5\u00f2\u00f2\u00f4\u00fa"+
54903 "\u00fc\u00fd\u0105\u0107\u010a\u010e\u0110\u0111\u0113\u011d\u011f\u0124"+
54904 "\u0126\u012e\u0130\u0144\u014c\u01be\u01c0\u01c0\u01c6\u01c6\u01d2\u01d4"+
54905 "\u01f9\u0208\u020b\u020b\u020d\u0213\u0217\u0217\u021c\u021d\u021f\u0221"+
54906 "\u0223\u0225\u0227\u0230\u023b\u029c\u02a5\u02a6\u02aa\u02aa\u02ae\u02ae"+
54907 "\u02c3\u02c3\u0002\u0000\u02d2\u02d2\u02d4\u02d4\u0002\u0000\u0004\u0004"+
54908 "hh\u0002\u0000\u0005\u0005ii\u0002\u0000\u0006\u0006kk\u0002\u0000ln\u00fb"+
54909 "\u00fb\u0001\u0000rs\u0001\u0000\u0018\u001d\u0004\u0000\u0006\u0007\u000f"+
54910 "\u0010,,\u00f2\u00f2\u0002\u0000==\u00fa\u00fa\u0001\u0000\u0095\u0099"+
54911 "\u0001\u0000\u00ed\u00ee\u0001\u0000xy\u0002\u0000RR\u02d0\u02d0\u0002"+
54912 "\u0000\u0112\u0112\u02d1\u02d1\u0001\u0000\u00f9\u00fa\u0002\u0000\u00a9"+
54913 "\u00a9\u01c0\u01c0\u0002\u0000\u0111\u0111\u011b\u011b\b\u0000\u0083\u0083"+
54914 "\u0087\u0088\u00ad\u00af\u00b1\u00b9\u00f2\u00f2\u0165\u0165\u01c2\u01d1"+
54915 "\u02d2\u02d2\u0001\u0000\u00eb\u00ec\u0001\u0000\u02dc\u02dd\u0002\u0000"+
54916 "\u00fa\u00fa\u0139\u0139\u0002\u0000\u019d\u019d\u01ae\u01ae\u0005\u0000"+
54917 "\u00f9\u00f9\u0110\u0110\u012f\u012f\u0133\u0133\u019a\u019a\t\u0000\u0131"+
54918 "\u0131\u013d\u013d\u0196\u0197\u019d\u019d\u01a6\u01a7\u01ab\u01ac\u01b1"+
54919 "\u01b1\u01bd\u01bd\u01f3\u01f3\u0003\u0000\u010c\u010c\u012f\u012f\u0140"+
54920 "\u0140\u0001\u0000\u0146\u0147\u0002\u0000\u00b0\u00b0\u0130\u0130\u0003"+
54921 "\u0000\u00d8\u00e8\u021c\u021c\u021f\u021f\u0001\u0000HI\u0002\u0000\u00ba"+
54922 "\u00ba\u00fa\u00fa\u0002\u0000\u0107\u0107\u011e\u011e\u0002\u0000\u0119"+
54923 "\u0119\u0138\u0138\u0001\u0000\u010d\u010e\u0001\u000001\u0002\u0000l"+
54924 "l\u009a\u009a\u0003\u0000\u00f9\u00f9\u012f\u012f\u0133\u0133\u0002\u0000"+
54925 "\u0126\u0127\u0134\u0134\u0001\u0000\u01a9\u01aa\u0001\u0000[\\\u0002"+
54926 "\u0000\u00ff\u00ff\u012e\u012e\u0001\u0000\u009c\u009d\u0003\u0000\u008c"+
54927 "\u008c\u008e\u0090\u0113\u0116\u0003\u0000;;\u009d\u009d\u010b\u010b\u0002"+
54928 "\u0000\u012f\u012f\u01f8\u01f8\u0003\u0000XXbb\u00cb\u00cb\u0001\u0000"+
54929 "\u01fe\u0201\u0002\u0000\r\r\u01fe\u0201\u0001\u0000\u0208\u0209\u0001"+
54930 "\u0000\u020a\u020d\u0002\u0000\u00cb\u00cb\u020e\u020f\u0003\u0000\u00d3"+
54931 "\u00d3\u01d2\u01d2\u0216\u0216\u0003\u0000\u0176\u0176\u0211\u0211\u0221"+
54932 "\u0221\u0002\u0000\u0107\u0107\u022a\u022a\u0002\u0000rr\u0101\u0101\u0001"+
54933 "\u0000\u028a\u028b\u0001\u0000\u01ff\u0200\u0003\u0000ab\u022e\u022e\u0284"+
54934 "\u0284\u0002\u0000\u0131\u0131\u0282\u0283\u0002\u0000\u00cb\u00cb\u0239"+
54935 "\u0239\u0001\u0000\u027f\u0281\u0002\u0000\u00c9\u00c9\u027c\u027d\u0001"+
54936 "\u0000\u00c8\u00c9\u0001\u0000\u0236\u0237\u0002\u0000\u00d3\u00d3\u0238"+
54937 "\u0238\u0002\u0000\u0116\u0117\u026c\u026c\u0002\u0000\u00a6\u00a6\u026a"+
54938 "\u026a\u0002\u0000bb\u010b\u010b\u0004\u0000rr\u010b\u010b\u012f\u012f"+
54939 "\u0265\u0265\u0002\u0000\u0116\u0116\u026c\u026c\u0003\u0000XX\u00c8\u00c8"+
54940 "\u0256\u0256\u0002\u0000\u012f\u012f\u0254\u0255\u0002\u0000\u0117\u0117"+
54941 "\u0240\u0240\u0002\u0000\r\r\u000f\u0012\u0002\u0000OOrr\u0002\u0000Y"+
54942 "Y]]\u0002\u0000XX[\\\u0002\u0000ZZ]]\u0001\u0000\u01d3\u01d4\u0002\u0000"+
54943 "uu\u0123\u0123\u0003\u0000\u00bf\u00bf\u0123\u0123\u014d\u014d\u0002\u0000"+
54944 "\u00bf\u00c0\u0123\u0123\u0002\u0000\u009d\u009d\u00c4\u00c4\u0001\u0000"+
54945 "\u02bd\u02be\u0002\u0000\u010b\u010b\u02c0\u02c0\u0002\u0000UUgg\u0002"+
54946 "\u0000\u00cc\u00cc\u0150\u0150\u0002\u0000\u0148\u0148\u0161\u0161\u0002"+
54947 "\u0000\u00cc\u00cc\u018e\u018e\u0001\u0000\u0153\u0154\u0001\u0000\u0176"+
54948 "\u0177\u0002\u0000\u00cc\u00cc\u0155\u0155\u0002\u0000..\u0146\u0146\u0002"+
54949 "\u0000\u014b\u014b\u02a9\u02a9\u0005\u000066\u00cc\u00cc\u0105\u0106\u012a"+
54950 "\u012a\u0130\u0130\u0002\u0000UUff\u0002\u0000\u02d9\u02d9\u02db\u02db"+
54951 "\u0002\u0000\u02b0\u02b0\u02b5\u02b5\u207c\u0000\u042d\u0001\u0000\u0000"+
54952 "\u0000\u0002\u0432\u0001\u0000\u0000\u0000\u0004\u0440\u0001\u0000\u0000"+
54953 "\u0000\u0006\u0442\u0001\u0000\u0000\u0000\b\u0446\u0001\u0000\u0000\u0000"+
54954 "\n\u0448\u0001\u0000\u0000\u0000\f\u0458\u0001\u0000\u0000\u0000\u000e"+
54955 "\u045f\u0001\u0000\u0000\u0000\u0010\u046f\u0001\u0000\u0000\u0000\u0012"+
54956 "\u0473\u0001\u0000\u0000\u0000\u0014\u047b\u0001\u0000\u0000\u0000\u0016"+
54957 "\u047f\u0001\u0000\u0000\u0000\u0018\u0485\u0001\u0000\u0000\u0000\u001a"+
54958 "\u048e\u0001\u0000\u0000\u0000\u001c\u0490\u0001\u0000\u0000\u0000\u001e"+
54959 "\u0493\u0001\u0000\u0000\u0000 \u049e\u0001\u0000\u0000\u0000\"\u04a0"+
54960 "\u0001\u0000\u0000\u0000$\u04a2\u0001\u0000\u0000\u0000&\u04a4\u0001\u0000"+
54961 "\u0000\u0000(\u04a6\u0001\u0000\u0000\u0000*\u04aa\u0001\u0000\u0000\u0000"+
54962 ",\u04ae\u0001\u0000\u0000\u0000.\u04b0\u0001\u0000\u0000\u00000\u04b2"+
54963 "\u0001\u0000\u0000\u00002\u04b4\u0001\u0000\u0000\u00004\u04b6\u0001\u0000"+
54964 "\u0000\u00006\u04bb\u0001\u0000\u0000\u00008\u04c2\u0001\u0000\u0000\u0000"+
54965 ":\u04cc\u0001\u0000\u0000\u0000<\u04d3\u0001\u0000\u0000\u0000>\u04da"+
54966 "\u0001\u0000\u0000\u0000@\u04e7\u0001\u0000\u0000\u0000B\u04ee\u0001\u0000"+
54967 "\u0000\u0000D\u04f2\u0001\u0000\u0000\u0000F\u04f4\u0001\u0000\u0000\u0000"+
54968 "H\u04fe\u0001\u0000\u0000\u0000J\u0504\u0001\u0000\u0000\u0000L\u0509"+
54969 "\u0001\u0000\u0000\u0000N\u050b\u0001\u0000\u0000\u0000P\u050d\u0001\u0000"+
54970 "\u0000\u0000R\u0518\u0001\u0000\u0000\u0000T\u0524\u0001\u0000\u0000\u0000"+
54971 "V\u0531\u0001\u0000\u0000\u0000X\u0533\u0001\u0000\u0000\u0000Z\u0535"+
54972 "\u0001\u0000\u0000\u0000\\\u053a\u0001\u0000\u0000\u0000^\u053c\u0001"+
54973 "\u0000\u0000\u0000`\u0547\u0001\u0000\u0000\u0000b\u0554\u0001\u0000\u0000"+
54974 "\u0000d\u0567\u0001\u0000\u0000\u0000f\u0569\u0001\u0000\u0000\u0000h"+
54975 "\u056b\u0001\u0000\u0000\u0000j\u0572\u0001\u0000\u0000\u0000l\u0574\u0001"+
54976 "\u0000\u0000\u0000n\u058e\u0001\u0000\u0000\u0000p\u05bb\u0001\u0000\u0000"+
54977 "\u0000r\u05bd\u0001\u0000\u0000\u0000t\u061e\u0001\u0000\u0000\u0000v"+
54978 "\u062b\u0001\u0000\u0000\u0000x\u062d\u0001\u0000\u0000\u0000z\u063f\u0001"+
54979 "\u0000\u0000\u0000|\u0641\u0001\u0000\u0000\u0000~\u064b\u0001\u0000\u0000"+
54980 "\u0000\u0080\u064d\u0001\u0000\u0000\u0000\u0082\u0658\u0001\u0000\u0000"+
54981 "\u0000\u0084\u0669\u0001\u0000\u0000\u0000\u0086\u066b\u0001\u0000\u0000"+
54982 "\u0000\u0088\u0672\u0001\u0000\u0000\u0000\u008a\u067f\u0001\u0000\u0000"+
54983 "\u0000\u008c\u0681\u0001\u0000\u0000\u0000\u008e\u0692\u0001\u0000\u0000"+
54984 "\u0000\u0090\u06a1\u0001\u0000\u0000\u0000\u0092\u06ab\u0001\u0000\u0000"+
54985 "\u0000\u0094\u06ad\u0001\u0000\u0000\u0000\u0096\u06bd\u0001\u0000\u0000"+
54986 "\u0000\u0098\u06c8\u0001\u0000\u0000\u0000\u009a\u06d4\u0001\u0000\u0000"+
54987 "\u0000\u009c\u06fe\u0001\u0000\u0000\u0000\u009e\u0700\u0001\u0000\u0000"+
54988 "\u0000\u00a0\u0719\u0001\u0000\u0000\u0000\u00a2\u071b\u0001\u0000\u0000"+
54989 "\u0000\u00a4\u0729\u0001\u0000\u0000\u0000\u00a6\u072e\u0001\u0000\u0000"+
54990 "\u0000\u00a8\u0735\u0001\u0000\u0000\u0000\u00aa\u0737\u0001\u0000\u0000"+
54991 "\u0000\u00ac\u0751\u0001\u0000\u0000\u0000\u00ae\u075d\u0001\u0000\u0000"+
54992 "\u0000\u00b0\u076d\u0001\u0000\u0000\u0000\u00b2\u076f\u0001\u0000\u0000"+
54993 "\u0000\u00b4\u0777\u0001\u0000\u0000\u0000\u00b6\u0783\u0001\u0000\u0000"+
54994 "\u0000\u00b8\u0790\u0001\u0000\u0000\u0000\u00ba\u0799\u0001\u0000\u0000"+
54995 "\u0000\u00bc\u079c\u0001\u0000\u0000\u0000\u00be\u07a9\u0001\u0000\u0000"+
54996 "\u0000\u00c0\u07b3\u0001\u0000\u0000\u0000\u00c2\u07b8\u0001\u0000\u0000"+
54997 "\u0000\u00c4\u07ba\u0001\u0000\u0000\u0000\u00c6\u07c1\u0001\u0000\u0000"+
54998 "\u0000\u00c8\u07c9\u0001\u0000\u0000\u0000\u00ca\u07d1\u0001\u0000\u0000"+
54999 "\u0000\u00cc\u07d3\u0001\u0000\u0000\u0000\u00ce\u07e4\u0001\u0000\u0000"+
55000 "\u0000\u00d0\u07e6\u0001\u0000\u0000\u0000\u00d2\u07ea\u0001\u0000\u0000"+
55001 "\u0000\u00d4\u07ef\u0001\u0000\u0000\u0000\u00d6\u07f2\u0001\u0000\u0000"+
55002 "\u0000\u00d8\u07f4\u0001\u0000\u0000\u0000\u00da\u07f7\u0001\u0000\u0000"+
55003 "\u0000\u00dc\u07fd\u0001\u0000\u0000\u0000\u00de\u0807\u0001\u0000\u0000"+
55004 "\u0000\u00e0\u0809\u0001\u0000\u0000\u0000\u00e2\u080d\u0001\u0000\u0000"+
55005 "\u0000\u00e4\u081b\u0001\u0000\u0000\u0000\u00e6\u0822\u0001\u0000\u0000"+
55006 "\u0000\u00e8\u0824\u0001\u0000\u0000\u0000\u00ea\u082c\u0001\u0000\u0000"+
55007 "\u0000\u00ec\u082e\u0001\u0000\u0000\u0000\u00ee\u0830\u0001\u0000\u0000"+
55008 "\u0000\u00f0\u0838\u0001\u0000\u0000\u0000\u00f2\u083a\u0001\u0000\u0000"+
55009 "\u0000\u00f4\u083c\u0001\u0000\u0000\u0000\u00f6\u083e\u0001\u0000\u0000"+
55010 "\u0000\u00f8\u0840\u0001\u0000\u0000\u0000\u00fa\u0842\u0001\u0000\u0000"+
55011 "\u0000\u00fc\u0845\u0001\u0000\u0000\u0000\u00fe\u0847\u0001\u0000\u0000"+
55012 "\u0000\u0100\u0849\u0001\u0000\u0000\u0000\u0102\u0854\u0001\u0000\u0000"+
55013 "\u0000\u0104\u0858\u0001\u0000\u0000\u0000\u0106\u085a\u0001\u0000\u0000"+
55014 "\u0000\u0108\u0860\u0001\u0000\u0000\u0000\u010a\u0869\u0001\u0000\u0000"+
55015 "\u0000\u010c\u086e\u0001\u0000\u0000\u0000\u010e\u0878\u0001\u0000\u0000"+
55016 "\u0000\u0110\u0882\u0001\u0000\u0000\u0000\u0112\u088b\u0001\u0000\u0000"+
55017 "\u0000\u0114\u0896\u0001\u0000\u0000\u0000\u0116\u089f\u0001\u0000\u0000"+
55018 "\u0000\u0118\u08ac\u0001\u0000\u0000\u0000\u011a\u08b5\u0001\u0000\u0000"+
55019 "\u0000\u011c\u08c0\u0001\u0000\u0000\u0000\u011e\u08ca\u0001\u0000\u0000"+
55020 "\u0000\u0120\u08d6\u0001\u0000\u0000\u0000\u0122\u08dc\u0001\u0000\u0000"+
55021 "\u0000\u0124\u08e2\u0001\u0000\u0000\u0000\u0126\u08e7\u0001\u0000\u0000"+
55022 "\u0000\u0128\u08ee\u0001\u0000\u0000\u0000\u012a\u08f7\u0001\u0000\u0000"+
55023 "\u0000\u012c\u0902\u0001\u0000\u0000\u0000\u012e\u090b\u0001\u0000\u0000"+
55024 "\u0000\u0130\u0912\u0001\u0000\u0000\u0000\u0132\u091b\u0001\u0000\u0000"+
55025 "\u0000\u0134\u0928\u0001\u0000\u0000\u0000\u0136\u0935\u0001\u0000\u0000"+
55026 "\u0000\u0138\u0942\u0001\u0000\u0000\u0000\u013a\u094f\u0001\u0000\u0000"+
55027 "\u0000\u013c\u0964\u0001\u0000\u0000\u0000\u013e\u0971\u0001\u0000\u0000"+
55028 "\u0000\u0140\u0975\u0001\u0000\u0000\u0000\u0142\u097c\u0001\u0000\u0000"+
55029 "\u0000\u0144\u0980\u0001\u0000\u0000\u0000\u0146\u0996\u0001\u0000\u0000"+
55030 "\u0000\u0148\u09b7\u0001\u0000\u0000\u0000\u014a\u09bd\u0001\u0000\u0000"+
55031 "\u0000\u014c\u09ce\u0001\u0000\u0000\u0000\u014e\u09d2\u0001\u0000\u0000"+
55032 "\u0000\u0150\u09d4\u0001\u0000\u0000\u0000\u0152\u09d8\u0001\u0000\u0000"+
55033 "\u0000\u0154\u09ec\u0001\u0000\u0000\u0000\u0156\u09ee\u0001\u0000\u0000"+
55034 "\u0000\u0158\u0a2f\u0001\u0000\u0000\u0000\u015a\u0a31\u0001\u0000\u0000"+
55035 "\u0000\u015c\u0a41\u0001\u0000\u0000\u0000\u015e\u0a4a\u0001\u0000\u0000"+
55036 "\u0000\u0160\u0a53\u0001\u0000\u0000\u0000\u0162\u0a70\u0001\u0000\u0000"+
55037 "\u0000\u0164\u0a74\u0001\u0000\u0000\u0000\u0166\u0a7b\u0001\u0000\u0000"+
55038 "\u0000\u0168\u0a83\u0001\u0000\u0000\u0000\u016a\u0a85\u0001\u0000\u0000"+
55039 "\u0000\u016c\u0a99\u0001\u0000\u0000\u0000\u016e\u0a9b\u0001\u0000\u0000"+
55040 "\u0000\u0170\u0aa1\u0001\u0000\u0000\u0000\u0172\u0aa4\u0001\u0000\u0000"+
55041 "\u0000\u0174\u0aad\u0001\u0000\u0000\u0000\u0176\u0aaf\u0001\u0000\u0000"+
55042 "\u0000\u0178\u0ab8\u0001\u0000\u0000\u0000\u017a\u0ace\u0001\u0000\u0000"+
55043 "\u0000\u017c\u0ad5\u0001\u0000\u0000\u0000\u017e\u0ad7\u0001\u0000\u0000"+
55044 "\u0000\u0180\u0ae1\u0001\u0000\u0000\u0000\u0182\u0aef\u0001\u0000\u0000"+
55045 "\u0000\u0184\u0afe\u0001\u0000\u0000\u0000\u0186\u0b00\u0001\u0000\u0000"+
55046 "\u0000\u0188\u0b03\u0001\u0000\u0000\u0000\u018a\u0b11\u0001\u0000\u0000"+
55047 "\u0000\u018c\u0b13\u0001\u0000\u0000\u0000\u018e\u0b20\u0001\u0000\u0000"+
55048 "\u0000\u0190\u0b28\u0001\u0000\u0000\u0000\u0192\u0b2f\u0001\u0000\u0000"+
55049 "\u0000\u0194\u0b36\u0001\u0000\u0000\u0000\u0196\u0b39\u0001\u0000\u0000"+
55050 "\u0000\u0198\u0b42\u0001\u0000\u0000\u0000\u019a\u0b47\u0001\u0000\u0000"+
55051 "\u0000\u019c\u0b4d\u0001\u0000\u0000\u0000\u019e\u0b59\u0001\u0000\u0000"+
55052 "\u0000\u01a0\u0b71\u0001\u0000\u0000\u0000\u01a2\u0b73\u0001\u0000\u0000"+
55053 "\u0000\u01a4\u0b7e\u0001\u0000\u0000\u0000\u01a6\u0b91\u0001\u0000\u0000"+
55054 "\u0000\u01a8\u0b98\u0001\u0000\u0000\u0000\u01aa\u0ba7\u0001\u0000\u0000"+
55055 "\u0000\u01ac\u0be4\u0001\u0000\u0000\u0000\u01ae\u0be6\u0001\u0000\u0000"+
55056 "\u0000\u01b0\u0bf2\u0001\u0000\u0000\u0000\u01b2\u0c04\u0001\u0000\u0000"+
55057 "\u0000\u01b4\u0c0a\u0001\u0000\u0000\u0000\u01b6\u0c1c\u0001\u0000\u0000"+
55058 "\u0000\u01b8\u0c1e\u0001\u0000\u0000\u0000\u01ba\u0c45\u0001\u0000\u0000"+
55059 "\u0000\u01bc\u0c47\u0001\u0000\u0000\u0000\u01be\u0c5d\u0001\u0000\u0000"+
55060 "\u0000\u01c0\u0c6b\u0001\u0000\u0000\u0000\u01c2\u0c6f\u0001\u0000\u0000"+
55061 "\u0000\u01c4\u0c76\u0001\u0000\u0000\u0000\u01c6\u0c84\u0001\u0000\u0000"+
55062 "\u0000\u01c8\u0c88\u0001\u0000\u0000\u0000\u01ca\u0c96\u0001\u0000\u0000"+
55063 "\u0000\u01cc\u0c9a\u0001\u0000\u0000\u0000\u01ce\u0ca9\u0001\u0000\u0000"+
55064 "\u0000\u01d0\u0cab\u0001\u0000\u0000\u0000\u01d2\u0cb5\u0001\u0000\u0000"+
55065 "\u0000\u01d4\u0cc9\u0001\u0000\u0000\u0000\u01d6\u0cd3\u0001\u0000\u0000"+
55066 "\u0000\u01d8\u0ce0\u0001\u0000\u0000\u0000\u01da\u0ce4\u0001\u0000\u0000"+
55067 "\u0000\u01dc\u0d01\u0001\u0000\u0000\u0000\u01de\u0d03\u0001\u0000\u0000"+
55068 "\u0000\u01e0\u0d05\u0001\u0000\u0000\u0000\u01e2\u0d11\u0001\u0000\u0000"+
55069 "\u0000\u01e4\u0d1e\u0001\u0000\u0000\u0000\u01e6\u0d26\u0001\u0000\u0000"+
55070 "\u0000\u01e8\u0d2c\u0001\u0000\u0000\u0000\u01ea\u0d3e\u0001\u0000\u0000"+
55071 "\u0000\u01ec\u0d46\u0001\u0000\u0000\u0000\u01ee\u0d4d\u0001\u0000\u0000"+
55072 "\u0000\u01f0\u0d56\u0001\u0000\u0000\u0000\u01f2\u0d65\u0001\u0000\u0000"+
55073 "\u0000\u01f4\u0d6c\u0001\u0000\u0000\u0000\u01f6\u0d75\u0001\u0000\u0000"+
55074 "\u0000\u01f8\u0d77\u0001\u0000\u0000\u0000\u01fa\u0d7c\u0001\u0000\u0000"+
55075 "\u0000\u01fc\u0d7f\u0001\u0000\u0000\u0000\u01fe\u0d8a\u0001\u0000\u0000"+
55076 "\u0000\u0200\u0d8c\u0001\u0000\u0000\u0000\u0202\u0dac\u0001\u0000\u0000"+
55077 "\u0000\u0204\u0dae\u0001\u0000\u0000\u0000\u0206\u0dbd\u0001\u0000\u0000"+
55078 "\u0000\u0208\u0dd1\u0001\u0000\u0000\u0000\u020a\u0e08\u0001\u0000\u0000"+
55079 "\u0000\u020c\u0e10\u0001\u0000\u0000\u0000\u020e\u0e12\u0001\u0000\u0000"+
55080 "\u0000\u0210\u0e24\u0001\u0000\u0000\u0000\u0212\u0e3b\u0001\u0000\u0000"+
55081 "\u0000\u0214\u0e51\u0001\u0000\u0000\u0000\u0216\u0e5d\u0001\u0000\u0000"+
55082 "\u0000\u0218\u0e5f\u0001\u0000\u0000\u0000\u021a\u0e77\u0001\u0000\u0000"+
55083 "\u0000\u021c\u0e79\u0001\u0000\u0000\u0000\u021e\u0e7f\u0001\u0000\u0000"+
55084 "\u0000\u0220\u0e8d\u0001\u0000\u0000\u0000\u0222\u0e8f\u0001\u0000\u0000"+
55085 "\u0000\u0224\u0ebd\u0001\u0000\u0000\u0000\u0226\u0ed1\u0001\u0000\u0000"+
55086 "\u0000\u0228\u0ed3\u0001\u0000\u0000\u0000\u022a\u0eee\u0001\u0000\u0000"+
55087 "\u0000\u022c\u0f03\u0001\u0000\u0000\u0000\u022e\u0f06\u0001\u0000\u0000"+
55088 "\u0000\u0230\u0f21\u0001\u0000\u0000\u0000\u0232\u0f23\u0001\u0000\u0000"+
55089 "\u0000\u0234\u0f3f\u0001\u0000\u0000\u0000\u0236\u0f41\u0001\u0000\u0000"+
55090 "\u0000\u0238\u0f58\u0001\u0000\u0000\u0000\u023a\u0f70\u0001\u0000\u0000"+
55091 "\u0000\u023c\u0f89\u0001\u0000\u0000\u0000\u023e\u0f94\u0001\u0000\u0000"+
55092 "\u0000\u0240\u0fb0\u0001\u0000\u0000\u0000\u0242\u0fbc\u0001\u0000\u0000"+
55093 "\u0000\u0244\u0fc9\u0001\u0000\u0000\u0000\u0246\u0fcb\u0001\u0000\u0000"+
55094 "\u0000\u0248\u0fd7\u0001\u0000\u0000\u0000\u024a\u0fe0\u0001\u0000\u0000"+
55095 "\u0000\u024c\u0ff0\u0001\u0000\u0000\u0000\u024e\u1015\u0001\u0000\u0000"+
55096 "\u0000\u0250\u102d\u0001\u0000\u0000\u0000\u0252\u1038\u0001\u0000\u0000"+
55097 "\u0000\u0254\u1044\u0001\u0000\u0000\u0000\u0256\u1046\u0001\u0000\u0000"+
55098 "\u0000\u0258\u104f\u0001\u0000\u0000\u0000\u025a\u1067\u0001\u0000\u0000"+
55099 "\u0000\u025c\u1096\u0001\u0000\u0000\u0000\u025e\u1098\u0001\u0000\u0000"+
55100 "\u0000\u0260\u10a3\u0001\u0000\u0000\u0000\u0262\u10c1\u0001\u0000\u0000"+
55101 "\u0000\u0264\u10c5\u0001\u0000\u0000\u0000\u0266\u10eb\u0001\u0000\u0000"+
55102 "\u0000\u0268\u1104\u0001\u0000\u0000\u0000\u026a\u1144\u0001\u0000\u0000"+
55103 "\u0000\u026c\u1189\u0001\u0000\u0000\u0000\u026e\u118b\u0001\u0000\u0000"+
55104 "\u0000\u0270\u1196\u0001\u0000\u0000\u0000\u0272\u11ad\u0001\u0000\u0000"+
55105 "\u0000\u0274\u11b9\u0001\u0000\u0000\u0000\u0276\u11f1\u0001\u0000\u0000"+
55106 "\u0000\u0278\u11ff\u0001\u0000\u0000\u0000\u027a\u120e\u0001\u0000\u0000"+
55107 "\u0000\u027c\u1218\u0001\u0000\u0000\u0000\u027e\u1245\u0001\u0000\u0000"+
55108 "\u0000\u0280\u124b\u0001\u0000\u0000\u0000\u0282\u1263\u0001\u0000\u0000"+
55109 "\u0000\u0284\u1267\u0001\u0000\u0000\u0000\u0286\u1289\u0001\u0000\u0000"+
55110 "\u0000\u0288\u128b\u0001\u0000\u0000\u0000\u028a\u12aa\u0001\u0000\u0000"+
55111 "\u0000\u028c\u12ac\u0001\u0000\u0000\u0000\u028e\u12b3\u0001\u0000\u0000"+
55112 "\u0000\u0290\u12d0\u0001\u0000\u0000\u0000\u0292\u12d6\u0001\u0000\u0000"+
55113 "\u0000\u0294\u12eb\u0001\u0000\u0000\u0000\u0296\u12ed\u0001\u0000\u0000"+
55114 "\u0000\u0298\u132f\u0001\u0000\u0000\u0000\u029a\u133e\u0001\u0000\u0000"+
55115 "\u0000\u029c\u1346\u0001\u0000\u0000\u0000\u029e\u135d\u0001\u0000\u0000"+
55116 "\u0000\u02a0\u1366\u0001\u0000\u0000\u0000\u02a2\u136e\u0001\u0000\u0000"+
55117 "\u0000\u02a4\u1370\u0001\u0000\u0000\u0000\u02a6\u137e\u0001\u0000\u0000"+
55118 "\u0000\u02a8\u1380\u0001\u0000\u0000\u0000\u02aa\u138b\u0001\u0000\u0000"+
55119 "\u0000\u02ac\u139c\u0001\u0000\u0000\u0000\u02ae\u13a5\u0001\u0000\u0000"+
55120 "\u0000\u02b0\u13ac\u0001\u0000\u0000\u0000\u02b2\u13b0\u0001\u0000\u0000"+
55121 "\u0000\u02b4\u13b2\u0001\u0000\u0000\u0000\u02b6\u13bd\u0001\u0000\u0000"+
55122 "\u0000\u02b8\u13d0\u0001\u0000\u0000\u0000\u02ba\u13ec\u0001\u0000\u0000"+
55123 "\u0000\u02bc\u13ef\u0001\u0000\u0000\u0000\u02be\u1409\u0001\u0000\u0000"+
55124 "\u0000\u02c0\u1412\u0001\u0000\u0000\u0000\u02c2\u1421\u0001\u0000\u0000"+
55125 "\u0000\u02c4\u1429\u0001\u0000\u0000\u0000\u02c6\u142e\u0001\u0000\u0000"+
55126 "\u0000\u02c8\u1438\u0001\u0000\u0000\u0000\u02ca\u1445\u0001\u0000\u0000"+
55127 "\u0000\u02cc\u1459\u0001\u0000\u0000\u0000\u02ce\u1463\u0001\u0000\u0000"+
55128 "\u0000\u02d0\u147d\u0001\u0000\u0000\u0000\u02d2\u1481\u0001\u0000\u0000"+
55129 "\u0000\u02d4\u1484\u0001\u0000\u0000\u0000\u02d6\u1497\u0001\u0000\u0000"+
55130 "\u0000\u02d8\u149b\u0001\u0000\u0000\u0000\u02da\u14b3\u0001\u0000\u0000"+
55131 "\u0000\u02dc\u14b5\u0001\u0000\u0000\u0000\u02de\u14c3\u0001\u0000\u0000"+
55132 "\u0000\u02e0\u14c5\u0001\u0000\u0000\u0000\u02e2\u14d5\u0001\u0000\u0000"+
55133 "\u0000\u02e4\u14f7\u0001\u0000\u0000\u0000\u02e6\u14fe\u0001\u0000\u0000"+
55134 "\u0000\u02e8\u151c\u0001\u0000\u0000\u0000\u02ea\u151e\u0001\u0000\u0000"+
55135 "\u0000\u02ec\u153e\u0001\u0000\u0000\u0000\u02ee\u1540\u0001\u0000\u0000"+
55136 "\u0000\u02f0\u1542\u0001\u0000\u0000\u0000\u02f2\u1545\u0001\u0000\u0000"+
55137 "\u0000\u02f4\u1548\u0001\u0000\u0000\u0000\u02f6\u154b\u0001\u0000\u0000"+
55138 "\u0000\u02f8\u1553\u0001\u0000\u0000\u0000\u02fa\u1574\u0001\u0000\u0000"+
55139 "\u0000\u02fc\u1594\u0001\u0000\u0000\u0000\u02fe\u159a\u0001\u0000\u0000"+
55140 "\u0000\u0300\u159c\u0001\u0000\u0000\u0000\u0302\u159f\u0001\u0000\u0000"+
55141 "\u0000\u0304\u15a9\u0001\u0000\u0000\u0000\u0306\u15ac\u0001\u0000\u0000"+
55142 "\u0000\u0308\u15b0\u0001\u0000\u0000\u0000\u030a\u15c0\u0001\u0000\u0000"+
55143 "\u0000\u030c\u15c3\u0001\u0000\u0000\u0000\u030e\u15cb\u0001\u0000\u0000"+
55144 "\u0000\u0310\u15d2\u0001\u0000\u0000\u0000\u0312\u15e0\u0001\u0000\u0000"+
55145 "\u0000\u0314\u15ec\u0001\u0000\u0000\u0000\u0316\u15f3\u0001\u0000\u0000"+
55146 "\u0000\u0318\u15fc\u0001\u0000\u0000\u0000\u031a\u15ff\u0001\u0000\u0000"+
55147 "\u0000\u031c\u1648\u0001\u0000\u0000\u0000\u031e\u1680\u0001\u0000\u0000"+
55148 "\u0000\u0320\u1682\u0001\u0000\u0000\u0000\u0322\u1688\u0001\u0000\u0000"+
55149 "\u0000\u0324\u16c8\u0001\u0000\u0000\u0000\u0326\u16d8\u0001\u0000\u0000"+
55150 "\u0000\u0328\u16ee\u0001\u0000\u0000\u0000\u032a\u16f8\u0001\u0000\u0000"+
55151 "\u0000\u032c\u1709\u0001\u0000\u0000\u0000\u032e\u170b\u0001\u0000\u0000"+
55152 "\u0000\u0330\u170d\u0001\u0000\u0000\u0000\u0332\u170f\u0001\u0000\u0000"+
55153 "\u0000\u0334\u1712\u0001\u0000\u0000\u0000\u0336\u1717\u0001\u0000\u0000"+
55154 "\u0000\u0338\u172e\u0001\u0000\u0000\u0000\u033a\u1741\u0001\u0000\u0000"+
55155 "\u0000\u033c\u1753\u0001\u0000\u0000\u0000\u033e\u1757\u0001\u0000\u0000"+
55156 "\u0000\u0340\u1763\u0001\u0000\u0000\u0000\u0342\u176a\u0001\u0000\u0000"+
55157 "\u0000\u0344\u176e\u0001\u0000\u0000\u0000\u0346\u1770\u0001\u0000\u0000"+
55158 "\u0000\u0348\u1778\u0001\u0000\u0000\u0000\u034a\u178d\u0001\u0000\u0000"+
55159 "\u0000\u034c\u179e\u0001\u0000\u0000\u0000\u034e\u17a3\u0001\u0000\u0000"+
55160 "\u0000\u0350\u17b8\u0001\u0000\u0000\u0000\u0352\u17c9\u0001\u0000\u0000"+
55161 "\u0000\u0354\u17e4\u0001\u0000\u0000\u0000\u0356\u17f6\u0001\u0000\u0000"+
55162 "\u0000\u0358\u1845\u0001\u0000\u0000\u0000\u035a\u1859\u0001\u0000\u0000"+
55163 "\u0000\u035c\u1902\u0001\u0000\u0000\u0000\u035e\u1907\u0001\u0000\u0000"+
55164 "\u0000\u0360\u1911\u0001\u0000\u0000\u0000\u0362\u191c\u0001\u0000\u0000"+
55165 "\u0000\u0364\u1926\u0001\u0000\u0000\u0000\u0366\u192f\u0001\u0000\u0000"+
55166 "\u0000\u0368\u1945\u0001\u0000\u0000\u0000\u036a\u1952\u0001\u0000\u0000"+
55167 "\u0000\u036c\u1959\u0001\u0000\u0000\u0000\u036e\u1965\u0001\u0000\u0000"+
55168 "\u0000\u0370\u1972\u0001\u0000\u0000\u0000\u0372\u197f\u0001\u0000\u0000"+
55169 "\u0000\u0374\u198a\u0001\u0000\u0000\u0000\u0376\u1996\u0001\u0000\u0000"+
55170 "\u0000\u0378\u19a8\u0001\u0000\u0000\u0000\u037a\u19b4\u0001\u0000\u0000"+
55171 "\u0000\u037c\u19c1\u0001\u0000\u0000\u0000\u037e\u19ce\u0001\u0000\u0000"+
55172 "\u0000\u0380\u19da\u0001\u0000\u0000\u0000\u0382\u19ed\u0001\u0000\u0000"+
55173 "\u0000\u0384\u19f1\u0001\u0000\u0000\u0000\u0386\u19fe\u0001\u0000\u0000"+
55174 "\u0000\u0388\u1a0b\u0001\u0000\u0000\u0000\u038a\u1a14\u0001\u0000\u0000"+
55175 "\u0000\u038c\u1a1e\u0001\u0000\u0000\u0000\u038e\u1a20\u0001\u0000\u0000"+
55176 "\u0000\u0390\u1a22\u0001\u0000\u0000\u0000\u0392\u1a4e\u0001\u0000\u0000"+
55177 "\u0000\u0394\u1a50\u0001\u0000\u0000\u0000\u0396\u1a52\u0001\u0000\u0000"+
55178 "\u0000\u0398\u1a54\u0001\u0000\u0000\u0000\u039a\u1a5c\u0001\u0000\u0000"+
55179 "\u0000\u039c\u1a68\u0001\u0000\u0000\u0000\u039e\u1a9a\u0001\u0000\u0000"+
55180 "\u0000\u03a0\u1aa7\u0001\u0000\u0000\u0000\u03a2\u1ab4\u0001\u0000\u0000"+
55181 "\u0000\u03a4\u1adc\u0001\u0000\u0000\u0000\u03a6\u1aec\u0001\u0000\u0000"+
55182 "\u0000\u03a8\u1b02\u0001\u0000\u0000\u0000\u03aa\u1b04\u0001\u0000\u0000"+
55183 "\u0000\u03ac\u1b12\u0001\u0000\u0000\u0000\u03ae\u1b1c\u0001\u0000\u0000"+
55184 "\u0000\u03b0\u1b1e\u0001\u0000\u0000\u0000\u03b2\u1b20\u0001\u0000\u0000"+
55185 "\u0000\u03b4\u1b22\u0001\u0000\u0000\u0000\u03b6\u1b27\u0001\u0000\u0000"+
55186 "\u0000\u03b8\u1b2e\u0001\u0000\u0000\u0000\u03ba\u1b5e\u0001\u0000\u0000"+
55187 "\u0000\u03bc\u1b60\u0001\u0000\u0000\u0000\u03be\u1b67\u0001\u0000\u0000"+
55188 "\u0000\u03c0\u1b6e\u0001\u0000\u0000\u0000\u03c2\u1b7d\u0001\u0000\u0000"+
55189 "\u0000\u03c4\u1b8b\u0001\u0000\u0000\u0000\u03c6\u1b8d\u0001\u0000\u0000"+
55190 "\u0000\u03c8\u1bb5\u0001\u0000\u0000\u0000\u03ca\u1bb7\u0001\u0000\u0000"+
55191 "\u0000\u03cc\u1bb9\u0001\u0000\u0000\u0000\u03ce\u1bcc\u0001\u0000\u0000"+
55192 "\u0000\u03d0\u1bd4\u0001\u0000\u0000\u0000\u03d2\u1be2\u0001\u0000\u0000"+
55193 "\u0000\u03d4\u1be4\u0001\u0000\u0000\u0000\u03d6\u1bf0\u0001\u0000\u0000"+
55194 "\u0000\u03d8\u1c07\u0001\u0000\u0000\u0000\u03da\u1c09\u0001\u0000\u0000"+
55195 "\u0000\u03dc\u1c0c\u0001\u0000\u0000\u0000\u03de\u1c19\u0001\u0000\u0000"+
55196 "\u0000\u03e0\u1c1b\u0001\u0000\u0000\u0000\u03e2\u1c32\u0001\u0000\u0000"+
55197 "\u0000\u03e4\u1c34\u0001\u0000\u0000\u0000\u03e6\u1c38\u0001\u0000\u0000"+
55198 "\u0000\u03e8\u1c48\u0001\u0000\u0000\u0000\u03ea\u1c6f\u0001\u0000\u0000"+
55199 "\u0000\u03ec\u1c71\u0001\u0000\u0000\u0000\u03ee\u1c79\u0001\u0000\u0000"+
55200 "\u0000\u03f0\u1c7b\u0001\u0000\u0000\u0000\u03f2\u042e\u0003\u02de\u016f"+
55201 "\u0000\u03f3\u042e\u0003\u02bc\u015e\u0000\u03f4\u042e\u0003\u02ca\u0165"+
55202 "\u0000\u03f5\u042e\u0003\u02d4\u016a\u0000\u03f6\u042e\u0003\u0108\u0084"+
55203 "\u0000\u03f7\u042e\u0003\u011c\u008e\u0000\u03f8\u042e\u0003\u0130\u0098"+
55204 "\u0000\u03f9\u042e\u0003\u0104\u0082\u0000\u03fa\u042e\u0003\u010a\u0085"+
55205 "\u0000\u03fb\u042e\u0003\u010e\u0087\u0000\u03fc\u042e\u0003\u0110\u0088"+
55206 "\u0000\u03fd\u042e\u0003\u0112\u0089\u0000\u03fe\u042e\u0003\u0114\u008a"+
55207 "\u0000\u03ff\u042e\u0003\u0116\u008b\u0000\u0400\u042e\u0003\u0118\u008c"+
55208 "\u0000\u0401\u042e\u0003\u011a\u008d\u0000\u0402\u042e\u0003\u0126\u0093"+
55209 "\u0000\u0403\u042e\u0003\u0128\u0094\u0000\u0404\u042e\u0003\u011e\u008f"+
55210 "\u0000\u0405\u042e\u0003\u012a\u0095\u0000\u0406\u042e\u0003\u012c\u0096"+
55211 "\u0000\u0407\u042e\u0003\u0124\u0092\u0000\u0408\u042e\u0003\u012e\u0097"+
55212 "\u0000\u0409\u042e\u0003\u0132\u0099\u0000\u040a\u042e\u0003\u0134\u009a"+
55213 "\u0000\u040b\u042e\u0003\u0136\u009b\u0000\u040c\u042e\u0003\u0138\u009c"+
55214 "\u0000\u040d\u042e\u0003\u013a\u009d\u0000\u040e\u042e\u0003\u013c\u009e"+
55215 "\u0000\u040f\u042e\u0003\u013e\u009f\u0000\u0410\u042e\u0003\u0140\u00a0"+
55216 "\u0000\u0411\u042e\u0003\u0142\u00a1\u0000\u0412\u042e\u0003\u010c\u0086"+
55217 "\u0000\u0413\u042e\u0003\u0002\u0001\u0000\u0414\u042e\u0003\n\u0005\u0000"+
55218 "\u0415\u042e\u0003\f\u0006\u0000\u0416\u042e\u0003\u0006\u0003\u0000\u0417"+
55219 "\u042e\u0003\u000e\u0007\u0000\u0418\u042e\u0003\u0010\b\u0000\u0419\u042e"+
55220 "\u0003\u0012\t\u0000\u041a\u042e\u0003\u0014\n\u0000\u041b\u042e\u0003"+
55221 "\u0016\u000b\u0000\u041c\u042e\u0003\u0334\u019a\u0000\u041d\u042e\u0003"+
55222 "\u0346\u01a3\u0000\u041e\u042e\u0003\u034c\u01a6\u0000\u041f\u042e\u0003"+
55223 "\u039a\u01cd\u0000\u0420\u042e\u0003\u03b6\u01db\u0000\u0421\u042e\u0003"+
55224 "\u03b8\u01dc\u0000\u0422\u042e\u0003\u03bc\u01de\u0000\u0423\u042e\u0003"+
55225 "\u03be\u01df\u0000\u0424\u042e\u0003\u03c0\u01e0\u0000\u0425\u042e\u0003"+
55226 "\u03c2\u01e1\u0000\u0426\u042e\u0003\u03e4\u01f2\u0000\u0427\u042e\u0003"+
55227 "\u03e6\u01f3\u0000\u0428\u042e\u0003\u00fe\u007f\u0000\u0429\u042e\u0003"+
55228 "\u0100\u0080\u0000\u042a\u042e\u0003\u0398\u01cc\u0000\u042b\u042e\u0003"+
55229 "\u03f0\u01f8\u0000\u042c\u042e\u0003\u0144\u00a2\u0000\u042d\u03f2\u0001"+
55230 "\u0000\u0000\u0000\u042d\u03f3\u0001\u0000\u0000\u0000\u042d\u03f4\u0001"+
55231 "\u0000\u0000\u0000\u042d\u03f5\u0001\u0000\u0000\u0000\u042d\u03f6\u0001"+
55232 "\u0000\u0000\u0000\u042d\u03f7\u0001\u0000\u0000\u0000\u042d\u03f8\u0001"+
55233 "\u0000\u0000\u0000\u042d\u03f9\u0001\u0000\u0000\u0000\u042d\u03fa\u0001"+
55234 "\u0000\u0000\u0000\u042d\u03fb\u0001\u0000\u0000\u0000\u042d\u03fc\u0001"+
55235 "\u0000\u0000\u0000\u042d\u03fd\u0001\u0000\u0000\u0000\u042d\u03fe\u0001"+
55236 "\u0000\u0000\u0000\u042d\u03ff\u0001\u0000\u0000\u0000\u042d\u0400\u0001"+
55237 "\u0000\u0000\u0000\u042d\u0401\u0001\u0000\u0000\u0000\u042d\u0402\u0001"+
55238 "\u0000\u0000\u0000\u042d\u0403\u0001\u0000\u0000\u0000\u042d\u0404\u0001"+
55239 "\u0000\u0000\u0000\u042d\u0405\u0001\u0000\u0000\u0000\u042d\u0406\u0001"+
55240 "\u0000\u0000\u0000\u042d\u0407\u0001\u0000\u0000\u0000\u042d\u0408\u0001"+
55241 "\u0000\u0000\u0000\u042d\u0409\u0001\u0000\u0000\u0000\u042d\u040a\u0001"+
55242 "\u0000\u0000\u0000\u042d\u040b\u0001\u0000\u0000\u0000\u042d\u040c\u0001"+
55243 "\u0000\u0000\u0000\u042d\u040d\u0001\u0000\u0000\u0000\u042d\u040e\u0001"+
55244 "\u0000\u0000\u0000\u042d\u040f\u0001\u0000\u0000\u0000\u042d\u0410\u0001"+
55245 "\u0000\u0000\u0000\u042d\u0411\u0001\u0000\u0000\u0000\u042d\u0412\u0001"+
55246 "\u0000\u0000\u0000\u042d\u0413\u0001\u0000\u0000\u0000\u042d\u0414\u0001"+
55247 "\u0000\u0000\u0000\u042d\u0415\u0001\u0000\u0000\u0000\u042d\u0416\u0001"+
55248 "\u0000\u0000\u0000\u042d\u0417\u0001\u0000\u0000\u0000\u042d\u0418\u0001"+
55249 "\u0000\u0000\u0000\u042d\u0419\u0001\u0000\u0000\u0000\u042d\u041a\u0001"+
55250 "\u0000\u0000\u0000\u042d\u041b\u0001\u0000\u0000\u0000\u042d\u041c\u0001"+
55251 "\u0000\u0000\u0000\u042d\u041d\u0001\u0000\u0000\u0000\u042d\u041e\u0001"+
55252 "\u0000\u0000\u0000\u042d\u041f\u0001\u0000\u0000\u0000\u042d\u0420\u0001"+
55253 "\u0000\u0000\u0000\u042d\u0421\u0001\u0000\u0000\u0000\u042d\u0422\u0001"+
55254 "\u0000\u0000\u0000\u042d\u0423\u0001\u0000\u0000\u0000\u042d\u0424\u0001"+
55255 "\u0000\u0000\u0000\u042d\u0425\u0001\u0000\u0000\u0000\u042d\u0426\u0001"+
55256 "\u0000\u0000\u0000\u042d\u0427\u0001\u0000\u0000\u0000\u042d\u0428\u0001"+
55257 "\u0000\u0000\u0000\u042d\u0429\u0001\u0000\u0000\u0000\u042d\u042a\u0001"+
55258 "\u0000\u0000\u0000\u042d\u042b\u0001\u0000\u0000\u0000\u042d\u042c\u0001"+
55259 "\u0000\u0000\u0000\u042e\u0430\u0001\u0000\u0000\u0000\u042f\u0431\u0005"+
55260 "+\u0000\u0000\u0430\u042f\u0001\u0000\u0000\u0000\u0430\u0431\u0001\u0000"+
55261 "\u0000\u0000\u0431\u0001\u0001\u0000\u0000\u0000\u0432\u0433\u0005:\u0000"+
55262 "\u0000\u0433\u0434\u0005\u0108\u0000\u0000\u0434\u0435\u0005\u021b\u0000"+
55263 "\u0000\u0435\u0436\u0005\u021a\u0000\u0000\u0436\u0437\u0003\u0004\u0002"+
55264 "\u0000\u0437\u0003\u0001\u0000\u0000\u0000\u0438\u0439\u0005\u021e\u0000"+
55265 "\u0000\u0439\u0441\u0005\u02a7\u0000\u0000\u043a\u043b\u0005\u021e\u0000"+
55266 "\u0000\u043b\u0441\u0005\u02a8\u0000\u0000\u043c\u043d\u0005\u021d\u0000"+
55267 "\u0000\u043d\u0441\u0005\u021e\u0000\u0000\u043e\u0441\u0005\u021c\u0000"+
55268 "\u0000\u043f\u0441\u0005\u021f\u0000\u0000\u0440\u0438\u0001\u0000\u0000"+
55269 "\u0000\u0440\u043a\u0001\u0000\u0000\u0000\u0440\u043c\u0001\u0000\u0000"+
55270 "\u0000\u0440\u043e\u0001\u0000\u0000\u0000\u0440\u043f\u0001\u0000\u0000"+
55271 "\u0000\u0441\u0005\u0001\u0000\u0000\u0000\u0442\u0443\u0005:\u0000\u0000"+
55272 "\u0443\u0444\u0005\u01ad\u0000\u0000\u0444\u0445\u0003\b\u0004\u0000\u0445"+
55273 "\u0007\u0001\u0000\u0000\u0000\u0446\u0447\u0007\u0000\u0000\u0000\u0447"+
55274 "\t\u0001\u0000\u0000\u0000\u0448\u0449\u0005}\u0000\u0000\u0449\u0456"+
55275 "\u0007\u0001\u0000\u0000\u044a\u044d\u0003\u00f0x\u0000\u044b\u044d\u0003"+
55276 "\u00f2y\u0000\u044c\u044a\u0001\u0000\u0000\u0000\u044c\u044b\u0001\u0000"+
55277 "\u0000\u0000\u044d\u0454\u0001\u0000\u0000\u0000\u044e\u044f\u0005M\u0000"+
55278 "\u0000\u044f\u0452\u0005\u0233\u0000\u0000\u0450\u0453\u0003\u001c\u000e"+
55279 "\u0000\u0451\u0453\u0005\u02db\u0000\u0000\u0452\u0450\u0001\u0000\u0000"+
55280 "\u0000\u0452\u0451\u0001\u0000\u0000\u0000\u0452\u0453\u0001\u0000\u0000"+
55281 "\u0000\u0453\u0455\u0001\u0000\u0000\u0000\u0454\u044e\u0001\u0000\u0000"+
55282 "\u0000\u0454\u0455\u0001\u0000\u0000\u0000\u0455\u0457\u0001\u0000\u0000"+
55283 "\u0000\u0456\u044c\u0001\u0000\u0000\u0000\u0456\u0457\u0001\u0000\u0000"+
55284 "\u0000\u0457\u000b\u0001\u0000\u0000\u0000\u0458\u0459\u0005}\u0000\u0000"+
55285 "\u0459\u045a\u0005\u0232\u0000\u0000\u045a\u045d\u0007\u0001\u0000\u0000"+
55286 "\u045b\u045e\u0003\u00f0x\u0000\u045c\u045e\u0003\u00f2y\u0000\u045d\u045b"+
55287 "\u0001\u0000\u0000\u0000\u045d\u045c\u0001\u0000\u0000\u0000\u045d\u045e"+
55288 "\u0001\u0000\u0000\u0000\u045e\r\u0001\u0000\u0000\u0000\u045f\u0465\u0005"+
55289 "~\u0000\u0000\u0460\u0463\u0007\u0001\u0000\u0000\u0461\u0464\u0003\u00f0"+
55290 "x\u0000\u0462\u0464\u0003\u00f2y\u0000\u0463\u0461\u0001\u0000\u0000\u0000"+
55291 "\u0463\u0462\u0001\u0000\u0000\u0000\u0463\u0464\u0001\u0000\u0000\u0000"+
55292 "\u0464\u0466\u0001\u0000\u0000\u0000\u0465\u0460\u0001\u0000\u0000\u0000"+
55293 "\u0465\u0466\u0001\u0000\u0000\u0000\u0466\u046d\u0001\u0000\u0000\u0000"+
55294 "\u0467\u0468\u0005M\u0000\u0000\u0468\u0469\u0005\u001f\u0000\u0000\u0469"+
55295 "\u046a\u0005\u029a\u0000\u0000\u046a\u046b\u0005\u0018\u0000\u0000\u046b"+
55296 "\u046c\u0007\u0000\u0000\u0000\u046c\u046e\u0005 \u0000\u0000\u046d\u0467"+
55297 "\u0001\u0000\u0000\u0000\u046d\u046e\u0001\u0000\u0000\u0000\u046e\u000f"+
55298 "\u0001\u0000\u0000\u0000\u046f\u0471\u0005~\u0000\u0000\u0470\u0472\u0005"+
55299 "\u0234\u0000\u0000\u0471\u0470\u0001\u0000\u0000\u0000\u0471\u0472\u0001"+
55300 "\u0000\u0000\u0000\u0472\u0011\u0001\u0000\u0000\u0000\u0473\u0474\u0005"+
55301 "\u007f\u0000\u0000\u0474\u0479\u0007\u0001\u0000\u0000\u0475\u047a\u0003"+
55302 "\u00f0x\u0000\u0476\u047a\u0003\u00f2y\u0000\u0477\u047a\u0003\u00f4z"+
55303 "\u0000\u0478\u047a\u0003\u00f6{\u0000\u0479\u0475\u0001\u0000\u0000\u0000"+
55304 "\u0479\u0476\u0001\u0000\u0000\u0000\u0479\u0477\u0001\u0000\u0000\u0000"+
55305 "\u0479\u0478\u0001\u0000\u0000\u0000\u0479\u047a\u0001\u0000\u0000\u0000"+
55306 "\u047a\u0013\u0001\u0000\u0000\u0000\u047b\u047d\u0005\u007f\u0000\u0000"+
55307 "\u047c\u047e\u0005\u0234\u0000\u0000\u047d\u047c\u0001\u0000\u0000\u0000"+
55308 "\u047d\u047e\u0001\u0000\u0000\u0000\u047e\u0015\u0001\u0000\u0000\u0000"+
55309 "\u047f\u0480\u0005\u013f\u0000\u0000\u0480\u0483\u0007\u0001\u0000\u0000"+
55310 "\u0481\u0484\u0003\u00f4z\u0000\u0482\u0484\u0003\u00f6{\u0000\u0483\u0481"+
55311 "\u0001\u0000\u0000\u0000\u0483\u0482\u0001\u0000\u0000\u0000\u0484\u0017"+
55312 "\u0001\u0000\u0000\u0000\u0485\u0486\u0005)\u0000\u0000\u0486\u0019\u0001"+
55313 "\u0000\u0000\u0000\u0487\u048f\u0003\u001c\u000e\u0000\u0488\u048f\u0003"+
55314 "\u001e\u000f\u0000\u0489\u048f\u0003 \u0010\u0000\u048a\u048f\u0003\""+
55315 "\u0011\u0000\u048b\u048f\u0003$\u0012\u0000\u048c\u048f\u0003&\u0013\u0000"+
55316 "\u048d\u048f\u0003(\u0014\u0000\u048e\u0487\u0001\u0000\u0000\u0000\u048e"+
55317 "\u0488\u0001\u0000\u0000\u0000\u048e\u0489\u0001\u0000\u0000\u0000\u048e"+
55318 "\u048a\u0001\u0000\u0000\u0000\u048e\u048b\u0001\u0000\u0000\u0000\u048e"+
55319 "\u048c\u0001\u0000\u0000\u0000\u048e\u048d\u0001\u0000\u0000\u0000\u048f"+
55320 "\u001b\u0001\u0000\u0000\u0000\u0490\u0491\u0007\u0002\u0000\u0000\u0491"+
55321 "\u001d\u0001\u0000\u0000\u0000\u0492\u0494\u0007\u0003\u0000\u0000\u0493"+
55322 "\u0492\u0001\u0000\u0000\u0000\u0493\u0494\u0001\u0000\u0000\u0000\u0494"+
55323 "\u0495\u0001\u0000\u0000\u0000\u0495\u0496\u0005\u02d5\u0000\u0000\u0496"+
55324 "\u001f\u0001\u0000\u0000\u0000\u0497\u0498\u0007\u0004\u0000\u0000\u0498"+
55325 "\u049f\u0005\u02d4\u0000\u0000\u0499\u049a\u0005!\u0000\u0000\u049a\u049b"+
55326 "\u0003*\u0015\u0000\u049b\u049c\u0005\u02d4\u0000\u0000\u049c\u049d\u0005"+
55327 "\"\u0000\u0000\u049d\u049f\u0001\u0000\u0000\u0000\u049e\u0497\u0001\u0000"+
55328 "\u0000\u0000\u049e\u0499\u0001\u0000\u0000\u0000\u049f!\u0001\u0000\u0000"+
55329 "\u0000\u04a0\u04a1\u0005\u02d9\u0000\u0000\u04a1#\u0001\u0000\u0000\u0000"+
55330 "\u04a2\u04a3\u0005\u02da\u0000\u0000\u04a3%\u0001\u0000\u0000\u0000\u04a4"+
55331 "\u04a5\u0007\u0005\u0000\u0000\u04a5\'\u0001\u0000\u0000\u0000\u04a6\u04a7"+
55332 "\u0005l\u0000\u0000\u04a7)\u0001\u0000\u0000\u0000\u04a8\u04ab\u0003,"+
55333 "\u0016\u0000\u04a9\u04ab\u0003.\u0017\u0000\u04aa\u04a8\u0001\u0000\u0000"+
55334 "\u0000\u04aa\u04a9\u0001\u0000\u0000\u0000\u04ab+\u0001\u0000\u0000\u0000"+
55335 "\u04ac\u04af\u0005\u02d2\u0000\u0000\u04ad\u04af\u00030\u0018\u0000\u04ae"+
55336 "\u04ac\u0001\u0000\u0000\u0000\u04ae\u04ad\u0001\u0000\u0000\u0000\u04af"+
55337 "-\u0001\u0000\u0000\u0000\u04b0\u04b1\u0005\u02d3\u0000\u0000\u04b1/\u0001"+
55338 "\u0000\u0000\u0000\u04b2\u04b3\u0007\u0006\u0000\u0000\u04b31\u0001\u0000"+
55339 "\u0000\u0000\u04b4\u04b5\u0003*\u0015\u0000\u04b53\u0001\u0000\u0000\u0000"+
55340 "\u04b6\u04b7\u0003*\u0015\u0000\u04b75\u0001\u0000\u0000\u0000\u04b8\u04b9"+
55341 "\u0003L&\u0000\u04b9\u04ba\u0005\u0014\u0000\u0000\u04ba\u04bc\u0001\u0000"+
55342 "\u0000\u0000\u04bb\u04b8\u0001\u0000\u0000\u0000\u04bb\u04bc\u0001\u0000"+
55343 "\u0000\u0000\u04bc\u04bd\u0001\u0000\u0000\u0000\u04bd\u04be\u0003N\'"+
55344 "\u0000\u04be7\u0001\u0000\u0000\u0000\u04bf\u04c0\u0003L&\u0000\u04c0"+
55345 "\u04c1\u0005\u0014\u0000\u0000\u04c1\u04c3\u0001\u0000\u0000\u0000\u04c2"+
55346 "\u04bf\u0001\u0000\u0000\u0000\u04c2\u04c3\u0001\u0000\u0000\u0000\u04c3"+
55347 "\u04c4\u0001\u0000\u0000\u0000\u04c4\u04c7\u0003N\'\u0000\u04c5\u04c6"+
55348 "\u0005+\u0000\u0000\u04c6\u04c8\u0003\u001e\u000f\u0000\u04c7\u04c5\u0001"+
55349 "\u0000\u0000\u0000\u04c7\u04c8\u0001\u0000\u0000\u0000\u04c89\u0001\u0000"+
55350 "\u0000\u0000\u04c9\u04ca\u0003L&\u0000\u04ca\u04cb\u0005\u0014\u0000\u0000"+
55351 "\u04cb\u04cd\u0001\u0000\u0000\u0000\u04cc\u04c9\u0001\u0000\u0000\u0000"+
55352 "\u04cc\u04cd\u0001\u0000\u0000\u0000\u04cd\u04ce\u0001\u0000\u0000\u0000"+
55353 "\u04ce\u04cf\u0003N\'\u0000\u04cf;\u0001\u0000\u0000\u0000\u04d0\u04d1"+
55354 "\u00034\u001a\u0000\u04d1\u04d2\u0005\u0014\u0000\u0000\u04d2\u04d4\u0001"+
55355 "\u0000\u0000\u0000\u04d3\u04d0\u0001\u0000\u0000\u0000\u04d3\u04d4\u0001"+
55356 "\u0000\u0000\u0000\u04d4\u04d5\u0001\u0000\u0000\u0000\u04d5\u04d6\u0003"+
55357 "N\'\u0000\u04d6=\u0001\u0000\u0000\u0000\u04d7\u04d8\u00034\u001a\u0000"+
55358 "\u04d8\u04d9\u0005\u0014\u0000\u0000\u04d9\u04db\u0001\u0000\u0000\u0000"+
55359 "\u04da\u04d7\u0001\u0000\u0000\u0000\u04da\u04db\u0001\u0000\u0000\u0000"+
55360 "\u04db\u04dc\u0001\u0000\u0000\u0000\u04dc";
55361 private static final String _serializedATNSegment1 =
55362 "\u04dd\u0003N\'\u0000\u04dd?\u0001\u0000\u0000\u0000\u04de\u04df\u0003"+
55363 "2\u0019\u0000\u04df\u04e0\u0005\u0014\u0000\u0000\u04e0\u04e2\u0001\u0000"+
55364 "\u0000\u0000\u04e1\u04de\u0001\u0000\u0000\u0000\u04e1\u04e2\u0001\u0000"+
55365 "\u0000\u0000\u04e2\u04e4\u0001\u0000\u0000\u0000\u04e3\u04e5\u0003L&\u0000"+
55366 "\u04e4\u04e3\u0001\u0000\u0000\u0000\u04e4\u04e5\u0001\u0000\u0000\u0000"+
55367 "\u04e5\u04e6\u0001\u0000\u0000\u0000\u04e6\u04e8\u0005\u0014\u0000\u0000"+
55368 "\u04e7\u04e1\u0001\u0000\u0000\u0000\u04e7\u04e8\u0001\u0000\u0000\u0000"+
55369 "\u04e8\u04e9\u0001\u0000\u0000\u0000\u04e9\u04ea\u0003N\'\u0000\u04ea"+
55370 "A\u0001\u0000\u0000\u0000\u04eb\u04ec\u00034\u001a\u0000\u04ec\u04ed\u0005"+
55371 "\u0014\u0000\u0000\u04ed\u04ef\u0001\u0000\u0000\u0000\u04ee\u04eb\u0001"+
55372 "\u0000\u0000\u0000\u04ee\u04ef\u0001\u0000\u0000\u0000\u04ef\u04f0\u0001"+
55373 "\u0000\u0000\u0000\u04f0\u04f1\u0003N\'\u0000\u04f1C\u0001\u0000\u0000"+
55374 "\u0000\u04f2\u04f3\u0003N\'\u0000\u04f3E\u0001\u0000\u0000\u0000\u04f4"+
55375 "\u04f5\u0003N\'\u0000\u04f5G\u0001\u0000\u0000\u0000\u04f6\u04f7\u0003"+
55376 "2\u0019\u0000\u04f7\u04f8\u0005\u0014\u0000\u0000\u04f8\u04fa\u0001\u0000"+
55377 "\u0000\u0000\u04f9\u04f6\u0001\u0000\u0000\u0000\u04f9\u04fa\u0001\u0000"+
55378 "\u0000\u0000\u04fa\u04fb\u0001\u0000\u0000\u0000\u04fb\u04fc\u0003L&\u0000"+
55379 "\u04fc\u04fd\u0005\u0014\u0000\u0000\u04fd\u04ff\u0001\u0000\u0000\u0000"+
55380 "\u04fe\u04f9\u0001\u0000\u0000\u0000\u04fe\u04ff\u0001\u0000\u0000\u0000"+
55381 "\u04ff\u0502\u0001\u0000\u0000\u0000\u0500\u0503\u0003N\'\u0000\u0501"+
55382 "\u0503\u0003J%\u0000\u0502\u0500\u0001\u0000\u0000\u0000\u0502\u0501\u0001"+
55383 "\u0000\u0000\u0000\u0503I\u0001\u0000\u0000\u0000\u0504\u0505\u0005,\u0000"+
55384 "\u0000\u0505\u0506\u0005\u001f\u0000\u0000\u0506\u0507\u0003N\'\u0000"+
55385 "\u0507\u0508\u0005 \u0000\u0000\u0508K\u0001\u0000\u0000\u0000\u0509\u050a"+
55386 "\u0003*\u0015\u0000\u050aM\u0001\u0000\u0000\u0000\u050b\u050c\u0003*"+
55387 "\u0015\u0000\u050cO\u0001\u0000\u0000\u0000\u050d\u050e\u0005\u001f\u0000"+
55388 "\u0000\u050e\u0513\u0003H$\u0000\u050f\u0510\u0005%\u0000\u0000\u0510"+
55389 "\u0512\u0003H$\u0000\u0511\u050f\u0001\u0000\u0000\u0000\u0512\u0515\u0001"+
55390 "\u0000\u0000\u0000\u0513\u0511\u0001\u0000\u0000\u0000\u0513\u0514\u0001"+
55391 "\u0000\u0000\u0000\u0514\u0516\u0001\u0000\u0000\u0000\u0515\u0513\u0001"+
55392 "\u0000\u0000\u0000\u0516\u0517\u0005 \u0000\u0000\u0517Q\u0001\u0000\u0000"+
55393 "\u0000\u0518\u0519\u0005\u001f\u0000\u0000\u0519\u051e\u0003\u00ccf\u0000"+
55394 "\u051a\u051b\u0005%\u0000\u0000\u051b\u051d\u0003\u00ccf\u0000\u051c\u051a"+
55395 "\u0001\u0000\u0000\u0000\u051d\u0520\u0001\u0000\u0000\u0000\u051e\u051c"+
55396 "\u0001\u0000\u0000\u0000\u051e\u051f\u0001\u0000\u0000\u0000\u051f\u0521"+
55397 "\u0001\u0000\u0000\u0000\u0520\u051e\u0001\u0000\u0000\u0000\u0521\u0522"+
55398 "\u0005 \u0000\u0000\u0522S\u0001\u0000\u0000\u0000\u0523\u0525\u0005\u001f"+
55399 "\u0000\u0000\u0524\u0523\u0001\u0000\u0000\u0000\u0524\u0525\u0001\u0000"+
55400 "\u0000\u0000\u0525\u0526\u0001\u0000\u0000\u0000\u0526\u052b\u0003@ \u0000"+
55401 "\u0527\u0528\u0005%\u0000\u0000\u0528\u052a\u0003@ \u0000\u0529\u0527"+
55402 "\u0001\u0000\u0000\u0000\u052a\u052d\u0001\u0000\u0000\u0000\u052b\u0529"+
55403 "\u0001\u0000\u0000\u0000\u052b\u052c\u0001\u0000\u0000\u0000\u052c\u052f"+
55404 "\u0001\u0000\u0000\u0000\u052d\u052b\u0001\u0000\u0000\u0000\u052e\u0530"+
55405 "\u0005 \u0000\u0000\u052f\u052e\u0001\u0000\u0000\u0000\u052f\u0530\u0001"+
55406 "\u0000\u0000\u0000\u0530U\u0001\u0000\u0000\u0000\u0531\u0532\u0003*\u0015"+
55407 "\u0000\u0532W\u0001\u0000\u0000\u0000\u0533\u0534\u0003*\u0015\u0000\u0534"+
55408 "Y\u0001\u0000\u0000\u0000\u0535\u0536\u0007\u0007\u0000\u0000\u0536[\u0001"+
55409 "\u0000\u0000\u0000\u0537\u053b\u0003*\u0015\u0000\u0538\u053b\u0005\u02d4"+
55410 "\u0000\u0000\u0539\u053b\u0005\u02db\u0000\u0000\u053a\u0537\u0001\u0000"+
55411 "\u0000\u0000\u053a\u0538\u0001\u0000\u0000\u0000\u053a\u0539\u0001\u0000"+
55412 "\u0000\u0000\u053b]\u0001\u0000\u0000\u0000\u053c\u0542\u0005\u001f\u0000"+
55413 "\u0000\u053d\u0540\u0005\u02d5\u0000\u0000\u053e\u053f\u0005%\u0000\u0000"+
55414 "\u053f\u0541\u0005\u02d5\u0000\u0000\u0540\u053e\u0001\u0000\u0000\u0000"+
55415 "\u0540\u0541\u0001\u0000\u0000\u0000\u0541\u0543\u0001\u0000\u0000\u0000"+
55416 "\u0542\u053d\u0001\u0000\u0000\u0000\u0542\u0543\u0001\u0000\u0000\u0000"+
55417 "\u0543\u0544\u0001\u0000\u0000\u0000\u0544\u0545\u0005 \u0000\u0000\u0545"+
55418 "_\u0001\u0000\u0000\u0000\u0546\u0548\u0005@\u0000\u0000\u0547\u0546\u0001"+
55419 "\u0000\u0000\u0000\u0547\u0548\u0001\u0000\u0000\u0000\u0548\u0549\u0001"+
55420 "\u0000\u0000\u0000\u0549\u054a\u0005C\u0000\u0000\u054aa\u0001\u0000\u0000"+
55421 "\u0000\u054b\u054c\u00061\uffff\uffff\u0000\u054c\u0555\u0003l6\u0000"+
55422 "\u054d\u054e\u0003j5\u0000\u054e\u054f\u0003b1\u0002\u054f\u0555\u0001"+
55423 "\u0000\u0000\u0000\u0550\u0551\u0005\u001f\u0000\u0000\u0551\u0552\u0003"+
55424 "b1\u0000\u0552\u0553\u0005 \u0000\u0000\u0553\u0555\u0001\u0000\u0000"+
55425 "\u0000\u0554\u054b\u0001\u0000\u0000\u0000\u0554\u054d\u0001\u0000\u0000"+
55426 "\u0000\u0554\u0550\u0001\u0000\u0000\u0000\u0555\u0564\u0001\u0000\u0000"+
55427 "\u0000\u0556\u0557\n\u0005\u0000\u0000\u0557\u0558\u0003d2\u0000\u0558"+
55428 "\u0559\u0003b1\u0006\u0559\u0563\u0001\u0000\u0000\u0000\u055a\u055b\n"+
55429 "\u0004\u0000\u0000\u055b\u055c\u0003f3\u0000\u055c\u055d\u0003b1\u0005"+
55430 "\u055d\u0563\u0001\u0000\u0000\u0000\u055e\u055f\n\u0003\u0000\u0000\u055f"+
55431 "\u0560\u0003h4\u0000\u0560\u0561\u0003b1\u0004\u0561\u0563\u0001\u0000"+
55432 "\u0000\u0000\u0562\u0556\u0001\u0000\u0000\u0000\u0562\u055a\u0001\u0000"+
55433 "\u0000\u0000\u0562\u055e\u0001\u0000\u0000\u0000\u0563\u0566\u0001\u0000"+
55434 "\u0000\u0000\u0564\u0562\u0001\u0000\u0000\u0000\u0564\u0565\u0001\u0000"+
55435 "\u0000\u0000\u0565c\u0001\u0000\u0000\u0000\u0566\u0564\u0001\u0000\u0000"+
55436 "\u0000\u0567\u0568\u0007\b\u0000\u0000\u0568e\u0001\u0000\u0000\u0000"+
55437 "\u0569\u056a\u0007\t\u0000\u0000\u056ag\u0001\u0000\u0000\u0000\u056b"+
55438 "\u056d\u0005j\u0000\u0000\u056c\u056e\u0005k\u0000\u0000\u056d\u056c\u0001"+
55439 "\u0000\u0000\u0000\u056d\u056e\u0001\u0000\u0000\u0000\u056e\u056f\u0001"+
55440 "\u0000\u0000\u0000\u056f\u0570\u0005O\u0000\u0000\u0570\u0571\u0005U\u0000"+
55441 "\u0000\u0571i\u0001\u0000\u0000\u0000\u0572\u0573\u0007\n\u0000\u0000"+
55442 "\u0573k\u0001\u0000\u0000\u0000\u0574\u0575\u00066\uffff\uffff\u0000\u0575"+
55443 "\u0576\u0003p8\u0000\u0576\u058b\u0001\u0000\u0000\u0000\u0577\u0578\n"+
55444 "\u0005\u0000\u0000\u0578\u057a\u0005j\u0000\u0000\u0579\u057b\u0005k\u0000"+
55445 "\u0000\u057a\u0579\u0001\u0000\u0000\u0000\u057a\u057b\u0001\u0000\u0000"+
55446 "\u0000\u057b\u057c\u0001\u0000\u0000\u0000\u057c\u058a\u0007\u000b\u0000"+
55447 "\u0000\u057d\u057e\n\u0004\u0000\u0000\u057e\u057f\u0005\u0016\u0000\u0000"+
55448 "\u057f\u058a\u0003p8\u0000\u0580\u0581\n\u0003\u0000\u0000\u0581\u0582"+
55449 "\u0003n7\u0000\u0582\u0583\u0003p8\u0000\u0583\u058a\u0001\u0000\u0000"+
55450 "\u0000\u0584\u0585\n\u0002\u0000\u0000\u0585\u0586\u0003n7\u0000\u0586"+
55451 "\u0587\u0007\f\u0000\u0000\u0587\u0588\u0003\u0306\u0183\u0000\u0588\u058a"+
55452 "\u0001\u0000\u0000\u0000\u0589\u0577\u0001\u0000\u0000\u0000\u0589\u057d"+
55453 "\u0001\u0000\u0000\u0000\u0589\u0580\u0001\u0000\u0000\u0000\u0589\u0584"+
55454 "\u0001\u0000\u0000\u0000\u058a\u058d\u0001\u0000\u0000\u0000\u058b\u0589"+
55455 "\u0001\u0000\u0000\u0000\u058b\u058c\u0001\u0000\u0000\u0000\u058cm\u0001"+
55456 "\u0000\u0000\u0000\u058d\u058b\u0001\u0000\u0000\u0000\u058e\u058f\u0007"+
55457 "\r\u0000\u0000\u058fo\u0001\u0000\u0000\u0000\u0590\u0592\u0003r9\u0000"+
55458 "\u0591\u0593\u0005k\u0000\u0000\u0592\u0591\u0001\u0000\u0000\u0000\u0592"+
55459 "\u0593\u0001\u0000\u0000\u0000\u0593\u0594\u0001\u0000\u0000\u0000\u0594"+
55460 "\u0595\u0005q\u0000\u0000\u0595\u0596\u0003\u0306\u0183\u0000\u0596\u05bc"+
55461 "\u0001\u0000\u0000\u0000\u0597\u0599\u0003r9\u0000\u0598\u059a\u0005k"+
55462 "\u0000\u0000\u0599\u0598\u0001\u0000\u0000\u0000\u0599\u059a\u0001\u0000"+
55463 "\u0000\u0000\u059a\u059b\u0001\u0000\u0000\u0000\u059b\u059c\u0005q\u0000"+
55464 "\u0000\u059c\u059d\u0005\u001f\u0000\u0000\u059d\u05a2\u0003b1\u0000\u059e"+
55465 "\u059f\u0005%\u0000\u0000\u059f\u05a1\u0003b1\u0000\u05a0\u059e\u0001"+
55466 "\u0000\u0000\u0000\u05a1\u05a4\u0001\u0000\u0000\u0000\u05a2\u05a0\u0001"+
55467 "\u0000\u0000\u0000\u05a2\u05a3\u0001\u0000\u0000\u0000\u05a3\u05a5\u0001"+
55468 "\u0000\u0000\u0000\u05a4\u05a2\u0001\u0000\u0000\u0000\u05a5\u05a6\u0005"+
55469 " \u0000\u0000\u05a6\u05bc\u0001\u0000\u0000\u0000\u05a7\u05a9\u0003r9"+
55470 "\u0000\u05a8\u05aa\u0005k\u0000\u0000\u05a9\u05a8\u0001\u0000\u0000\u0000"+
55471 "\u05a9\u05aa\u0001\u0000\u0000\u0000\u05aa\u05ab\u0001\u0000\u0000\u0000"+
55472 "\u05ab\u05ac\u0005p\u0000\u0000\u05ac\u05ad\u0003r9\u0000\u05ad\u05ae"+
55473 "\u0005h\u0000\u0000\u05ae\u05af\u0003p8\u0000\u05af\u05bc\u0001\u0000"+
55474 "\u0000\u0000\u05b0\u05b2\u0003r9\u0000\u05b1\u05b3\u0005k\u0000\u0000"+
55475 "\u05b2\u05b1\u0001\u0000\u0000\u0000\u05b2\u05b3\u0001\u0000\u0000\u0000"+
55476 "\u05b3\u05b4\u0001\u0000\u0000\u0000\u05b4\u05b5\u0005t\u0000\u0000\u05b5"+
55477 "\u05b8\u0003t:\u0000\u05b6\u05b7\u0005\u00f3\u0000\u0000\u05b7\u05b9\u0003"+
55478 "t:\u0000\u05b8\u05b6\u0001\u0000\u0000\u0000\u05b8\u05b9\u0001\u0000\u0000"+
55479 "\u0000\u05b9\u05bc\u0001\u0000\u0000\u0000\u05ba\u05bc\u0003r9\u0000\u05bb"+
55480 "\u0590\u0001\u0000\u0000\u0000\u05bb\u0597\u0001\u0000\u0000\u0000\u05bb"+
55481 "\u05a7\u0001\u0000\u0000\u0000\u05bb\u05b0\u0001\u0000\u0000\u0000\u05bb"+
55482 "\u05ba\u0001\u0000\u0000\u0000\u05bcq\u0001\u0000\u0000\u0000\u05bd\u05be"+
55483 "\u00069\uffff\uffff\u0000\u05be\u05bf\u0003t:\u0000\u05bf\u05e0\u0001"+
55484 "\u0000\u0000\u0000\u05c0\u05c1\n\u000b\u0000\u0000\u05c1\u05c2\u0005\b"+
55485 "\u0000\u0000\u05c2\u05df\u0003r9\f\u05c3\u05c4\n\n\u0000\u0000\u05c4\u05c5"+
55486 "\u0005\t\u0000\u0000\u05c5\u05df\u0003r9\u000b\u05c6\u05c7\n\t\u0000\u0000"+
55487 "\u05c7\u05c8\u0005\n\u0000\u0000\u05c8\u05df\u0003r9\n\u05c9\u05ca\n\b"+
55488 "\u0000\u0000\u05ca\u05cb\u0005\u000b\u0000\u0000\u05cb\u05df\u0003r9\t"+
55489 "\u05cc\u05cd\n\u0007\u0000\u0000\u05cd\u05ce\u0005\u000f\u0000\u0000\u05ce"+
55490 "\u05df\u0003r9\b\u05cf\u05d0\n\u0006\u0000\u0000\u05d0\u05d1\u0005\u0010"+
55491 "\u0000\u0000\u05d1\u05df\u0003r9\u0007\u05d2\u05d3\n\u0005\u0000\u0000"+
55492 "\u05d3\u05d4\u0005\u0011\u0000\u0000\u05d4\u05df\u0003r9\u0006\u05d5\u05d6"+
55493 "\n\u0004\u0000\u0000\u05d6\u05d7\u0005\u0012\u0000\u0000\u05d7\u05df\u0003"+
55494 "r9\u0005\u05d8\u05d9\n\u0003\u0000\u0000\u05d9\u05da\u0005\r\u0000\u0000"+
55495 "\u05da\u05df\u0003r9\u0004\u05db\u05dc\n\u0002\u0000\u0000\u05dc\u05dd"+
55496 "\u0005\f\u0000\u0000\u05dd\u05df\u0003r9\u0003\u05de\u05c0\u0001\u0000"+
55497 "\u0000\u0000\u05de\u05c3\u0001\u0000\u0000\u0000\u05de\u05c6\u0001\u0000"+
55498 "\u0000\u0000\u05de\u05c9\u0001\u0000\u0000\u0000\u05de\u05cc\u0001\u0000"+
55499 "\u0000\u0000\u05de\u05cf\u0001\u0000\u0000\u0000\u05de\u05d2\u0001\u0000"+
55500 "\u0000\u0000\u05de\u05d5\u0001\u0000\u0000\u0000\u05de\u05d8\u0001\u0000"+
55501 "\u0000\u0000\u05de\u05db\u0001\u0000\u0000\u0000\u05df\u05e2\u0001\u0000"+
55502 "\u0000\u0000\u05e0\u05de\u0001\u0000\u0000\u0000\u05e0\u05e1\u0001\u0000"+
55503 "\u0000\u0000\u05e1s\u0001\u0000\u0000\u0000\u05e2\u05e0\u0001\u0000\u0000"+
55504 "\u0000\u05e3\u05e4\u0006:\uffff\uffff\u0000\u05e4\u061f\u0003v;\u0000"+
55505 "\u05e5\u061f\u0003\u0018\f\u0000\u05e6\u061f\u0003\u001a\r\u0000\u05e7"+
55506 "\u061f\u0003H$\u0000\u05e8\u061f\u0003\u00ecv\u0000\u05e9\u05ea\u0007"+
55507 "\u000e\u0000\u0000\u05ea\u061f\u0003t:\b\u05eb\u05ec\u0005\u009b\u0000"+
55508 "\u0000\u05ec\u05ee\u0005\u00cf\u0000\u0000\u05ed\u05ef\u0005\u026a\u0000"+
55509 "\u0000\u05ee\u05ed\u0001\u0000\u0000\u0000\u05ee\u05ef\u0001\u0000\u0000"+
55510 "\u0000\u05ef\u05f0\u0001\u0000\u0000\u0000\u05f0\u061f\u0003b1\u0000\u05f1"+
55511 "\u05f3\u0005\u00f9\u0000\u0000\u05f2\u05f1\u0001\u0000\u0000\u0000\u05f2"+
55512 "\u05f3\u0001\u0000\u0000\u0000\u05f3\u05f4\u0001\u0000\u0000\u0000\u05f4"+
55513 "\u05f5\u0005\u001f\u0000\u0000\u05f5\u05fa\u0003b1\u0000\u05f6\u05f7\u0005"+
55514 "%\u0000\u0000\u05f7\u05f9\u0003b1\u0000\u05f8\u05f6\u0001\u0000\u0000"+
55515 "\u0000\u05f9\u05fc\u0001\u0000\u0000\u0000\u05fa\u05f8\u0001\u0000\u0000"+
55516 "\u0000\u05fa\u05fb\u0001\u0000\u0000\u0000\u05fb\u05fd\u0001\u0000\u0000"+
55517 "\u0000\u05fc\u05fa\u0001\u0000\u0000\u0000\u05fd\u05fe\u0005 \u0000\u0000"+
55518 "\u05fe\u061f\u0001\u0000\u0000\u0000\u05ff\u0601\u0005o\u0000\u0000\u0600"+
55519 "\u05ff\u0001\u0000\u0000\u0000\u0600\u0601\u0001\u0000\u0000\u0000\u0601"+
55520 "\u0602\u0001\u0000\u0000\u0000\u0602\u061f\u0003\u0306\u0183\u0000\u0603"+
55521 "\u0604\u0005#\u0000\u0000\u0604\u0605\u0003b1\u0000\u0605\u0606\u0005"+
55522 "$\u0000\u0000\u0606\u061f\u0001\u0000\u0000\u0000\u0607\u0608\u0005!\u0000"+
55523 "\u0000\u0608\u060d\u0003b1\u0000\u0609\u060a\u0005\u0014\u0000\u0000\u060a"+
55524 "\u060c\u0003b1\u0000\u060b\u0609\u0001\u0000\u0000\u0000\u060c\u060f\u0001"+
55525 "\u0000\u0000\u0000\u060d\u060b\u0001\u0000\u0000\u0000\u060d\u060e\u0001"+
55526 "\u0000\u0000\u0000\u060e\u0614\u0001\u0000\u0000\u0000\u060f\u060d\u0001"+
55527 "\u0000\u0000\u0000\u0610\u0611\u0005%\u0000\u0000\u0611\u0613\u0003b1"+
55528 "\u0000\u0612\u0610\u0001\u0000\u0000\u0000\u0613\u0616\u0001\u0000\u0000"+
55529 "\u0000\u0614\u0612\u0001\u0000\u0000\u0000\u0614\u0615\u0001\u0000\u0000"+
55530 "\u0000\u0615\u0617\u0001\u0000\u0000\u0000\u0616\u0614\u0001\u0000\u0000"+
55531 "\u0000\u0617\u061a\u0005\"\u0000\u0000\u0618\u0619\u0005a\u0000\u0000"+
55532 "\u0619\u061b\u0007\u000f\u0000\u0000\u061a\u0618\u0001\u0000\u0000\u0000"+
55533 "\u061a\u061b\u0001\u0000\u0000\u0000\u061b\u061f\u0001\u0000\u0000\u0000"+
55534 "\u061c\u061f\u0003\u00a2Q\u0000\u061d\u061f\u0003\u00a8T\u0000\u061e\u05e3"+
55535 "\u0001\u0000\u0000\u0000\u061e\u05e5\u0001\u0000\u0000\u0000\u061e\u05e6"+
55536 "\u0001\u0000\u0000\u0000\u061e\u05e7\u0001\u0000\u0000\u0000\u061e\u05e8"+
55537 "\u0001\u0000\u0000\u0000\u061e\u05e9\u0001\u0000\u0000\u0000\u061e\u05eb"+
55538 "\u0001\u0000\u0000\u0000\u061e\u05f2\u0001\u0000\u0000\u0000\u061e\u0600"+
55539 "\u0001\u0000\u0000\u0000\u061e\u0603\u0001\u0000\u0000\u0000\u061e\u0607"+
55540 "\u0001\u0000\u0000\u0000\u061e\u061c\u0001\u0000\u0000\u0000\u061e\u061d"+
55541 "\u0001\u0000\u0000\u0000\u061f\u0625\u0001\u0000\u0000\u0000\u0620\u0621"+
55542 "\n\t\u0000\u0000\u0621\u0622\u0005\u0005\u0000\u0000\u0622\u0624\u0003"+
55543 "t:\n\u0623\u0620\u0001\u0000\u0000\u0000\u0624\u0627\u0001\u0000\u0000"+
55544 "\u0000\u0625\u0623\u0001\u0000\u0000\u0000\u0625\u0626\u0001\u0000\u0000"+
55545 "\u0000\u0626u\u0001\u0000\u0000\u0000\u0627\u0625\u0001\u0000\u0000\u0000"+
55546 "\u0628\u062c\u0003x<\u0000\u0629\u062c\u0003~?\u0000\u062a\u062c\u0003"+
55547 "\u009eO\u0000\u062b\u0628\u0001\u0000\u0000\u0000\u062b\u0629\u0001\u0000"+
55548 "\u0000\u0000\u062b\u062a\u0001\u0000\u0000\u0000\u062cw\u0001\u0000\u0000"+
55549 "\u0000\u062d\u062e\u0003z=\u0000\u062e\u0630\u0005\u001f\u0000\u0000\u062f"+
55550 "\u0631\u0003|>\u0000\u0630\u062f\u0001\u0000\u0000\u0000\u0630\u0631\u0001"+
55551 "\u0000\u0000\u0000\u0631\u063b\u0001\u0000\u0000\u0000\u0632\u0637\u0003"+
55552 "b1\u0000\u0633\u0634\u0005%\u0000\u0000\u0634\u0636\u0003b1\u0000\u0635"+
55553 "\u0633\u0001\u0000\u0000\u0000\u0636\u0639\u0001\u0000\u0000\u0000\u0637"+
55554 "\u0635\u0001\u0000\u0000\u0000\u0637\u0638\u0001\u0000\u0000\u0000\u0638"+
55555 "\u063c\u0001\u0000\u0000\u0000\u0639\u0637\u0001\u0000\u0000\u0000\u063a"+
55556 "\u063c\u0005\u0011\u0000\u0000\u063b\u0632\u0001\u0000\u0000\u0000\u063b"+
55557 "\u063a\u0001\u0000\u0000\u0000\u063b\u063c\u0001\u0000\u0000\u0000\u063c"+
55558 "\u063d\u0001\u0000\u0000\u0000\u063d\u063e\u0005 \u0000\u0000\u063ey\u0001"+
55559 "\u0000\u0000\u0000\u063f\u0640\u0007\u0010\u0000\u0000\u0640{\u0001\u0000"+
55560 "\u0000\u0000\u0641\u0642\u0005O\u0000\u0000\u0642}\u0001\u0000\u0000\u0000"+
55561 "\u0643\u064c\u0003\u0084B\u0000\u0644\u064c\u0003\u0094J\u0000\u0645\u064c"+
55562 "\u0003\u0096K\u0000\u0646\u064c\u0003\u008aE\u0000\u0647\u064c\u0003\u009c"+
55563 "N\u0000\u0648\u064c\u0003\u00b8\\\u0000\u0649\u064c\u0003\u0082A\u0000"+
55564 "\u064a\u064c\u0003\u0080@\u0000\u064b\u0643\u0001\u0000\u0000\u0000\u064b"+
55565 "\u0644\u0001\u0000\u0000\u0000\u064b\u0645\u0001\u0000\u0000\u0000\u064b"+
55566 "\u0646\u0001\u0000\u0000\u0000\u064b\u0647\u0001\u0000\u0000\u0000\u064b"+
55567 "\u0648\u0001\u0000\u0000\u0000\u064b\u0649\u0001\u0000\u0000\u0000\u064b"+
55568 "\u064a\u0001\u0000\u0000\u0000\u064c\u007f\u0001\u0000\u0000\u0000\u064d"+
55569 "\u064e\u0005\u00f0\u0000\u0000\u064e\u064f\u0005\u001f\u0000\u0000\u064f"+
55570 "\u0650\u0003b1\u0000\u0650\u0651\u0005%\u0000\u0000\u0651\u0652\u0003"+
55571 "b1\u0000\u0652\u0653\u0005 \u0000\u0000\u0653\u0656\u0001\u0000\u0000"+
55572 "\u0000\u0654\u0655\u0005\u0014\u0000\u0000\u0655\u0657\u0003@ \u0000\u0656"+
55573 "\u0654\u0001\u0000\u0000\u0000\u0656\u0657\u0001\u0000\u0000\u0000\u0657"+
55574 "\u0081\u0001\u0000\u0000\u0000\u0658\u0659\u0007\u0011\u0000\u0000\u0659"+
55575 "\u065a\u0005\u001f\u0000\u0000\u065a\u065b\u0003b1\u0000\u065b\u065c\u0005"+
55576 " \u0000\u0000\u065c\u065d\u0005\u00ef\u0000\u0000\u065d\u065e\u0005v\u0000"+
55577 "\u0000\u065e\u065f\u0005\u001f\u0000\u0000\u065f\u0660\u0005u\u0000\u0000"+
55578 "\u0660\u0661\u0005w\u0000\u0000\u0661\u0663\u0003b1\u0000\u0662\u0664"+
55579 "\u0007\u0012\u0000\u0000\u0663\u0662\u0001\u0000\u0000\u0000\u0663\u0664"+
55580 "\u0001\u0000\u0000\u0000\u0664\u0665\u0001\u0000\u0000\u0000\u0665\u0666"+
55581 "\u0005 \u0000\u0000\u0666\u0083\u0001\u0000\u0000\u0000\u0667\u066a\u0003"+
55582 "\u0086C\u0000\u0668\u066a\u0003\u0088D\u0000\u0669\u0667\u0001\u0000\u0000"+
55583 "\u0000\u0669\u0668\u0001\u0000\u0000\u0000\u066a\u0085\u0001\u0000\u0000"+
55584 "\u0000\u066b\u066c\u0007\u0013\u0000\u0000\u066c\u066d\u0005\u001f\u0000"+
55585 "\u0000\u066d\u066e\u0003b1\u0000\u066e\u066f\u0005`\u0000\u0000\u066f"+
55586 "\u0670\u0003\u00aeW\u0000\u0670\u0671\u0005 \u0000\u0000\u0671\u0087\u0001"+
55587 "\u0000\u0000\u0000\u0672\u0673\u0007\u0014\u0000\u0000\u0673\u0674\u0005"+
55588 "\u001f\u0000\u0000\u0674\u0675\u0003\u00aeW\u0000\u0675\u0676\u0005%\u0000"+
55589 "\u0000\u0676\u0679\u0003b1\u0000\u0677\u0678\u0005%\u0000\u0000\u0678"+
55590 "\u067a\u0005\u02d5\u0000\u0000\u0679\u0677\u0001\u0000\u0000\u0000\u0679"+
55591 "\u067a\u0001\u0000\u0000\u0000\u067a\u067b\u0001\u0000\u0000\u0000\u067b"+
55592 "\u067c\u0005 \u0000\u0000\u067c\u0089\u0001\u0000\u0000\u0000\u067d\u0680"+
55593 "\u0003\u008cF\u0000\u067e\u0680\u0003\u008eG\u0000\u067f\u067d\u0001\u0000"+
55594 "\u0000\u0000\u067f\u067e\u0001\u0000\u0000\u0000\u0680\u008b\u0001\u0000"+
55595 "\u0000\u0000\u0681\u0682\u0005\u00e9\u0000\u0000\u0682\u068e\u0005\u001f"+
55596 "\u0000\u0000\u0683\u0688\u0003\u0090H\u0000\u0684\u0685\u0005%\u0000\u0000"+
55597 "\u0685\u0687\u0003\u0090H\u0000\u0686\u0684\u0001\u0000\u0000\u0000\u0687"+
55598 "\u068a\u0001\u0000\u0000\u0000\u0688\u0686\u0001\u0000\u0000\u0000\u0688"+
55599 "\u0689\u0001\u0000\u0000\u0000\u0689\u068c\u0001\u0000\u0000\u0000\u068a"+
55600 "\u0688\u0001\u0000\u0000\u0000\u068b\u068d\u0003\u0092I\u0000\u068c\u068b"+
55601 "\u0001\u0000\u0000\u0000\u068c\u068d\u0001\u0000\u0000\u0000\u068d\u068f"+
55602 "\u0001\u0000\u0000\u0000\u068e\u0683\u0001\u0000\u0000\u0000\u068e\u068f"+
55603 "\u0001\u0000\u0000\u0000\u068f\u0690\u0001\u0000\u0000\u0000\u0690\u0691"+
55604 "\u0005 \u0000\u0000\u0691\u008d\u0001\u0000\u0000\u0000\u0692\u0693\u0005"+
55605 "\u00ea\u0000\u0000\u0693\u0694\u0005\u001f\u0000\u0000\u0694\u0699\u0003"+
55606 "b1\u0000\u0695\u0696\u0005%\u0000\u0000\u0696\u0698\u0003b1\u0000\u0697"+
55607 "\u0695\u0001\u0000\u0000\u0000\u0698\u069b\u0001\u0000\u0000\u0000\u0699"+
55608 "\u0697\u0001\u0000\u0000\u0000\u0699\u069a\u0001\u0000\u0000\u0000\u069a"+
55609 "\u069d\u0001\u0000\u0000\u0000\u069b\u0699\u0001\u0000\u0000\u0000\u069c"+
55610 "\u069e\u0003\u0092I\u0000\u069d\u069c\u0001\u0000\u0000\u0000\u069d\u069e"+
55611 "\u0001\u0000\u0000\u0000\u069e\u069f\u0001\u0000\u0000\u0000\u069f\u06a0"+
55612 "\u0005 \u0000\u0000\u06a0\u008f\u0001\u0000\u0000\u0000\u06a1\u06a2\u0003"+
55613 "b1\u0000\u06a2\u06a3\u0005\u000e\u0000\u0000\u06a3\u06a4\u0003b1\u0000"+
55614 "\u06a4\u0091\u0001\u0000\u0000\u0000\u06a5\u06a6\u0005l\u0000\u0000\u06a6"+
55615 "\u06a7\u0005a\u0000\u0000\u06a7\u06ac\u0005l\u0000\u0000\u06a8\u06a9\u0005"+
55616 "\u02be\u0000\u0000\u06a9\u06aa\u0005a\u0000\u0000\u06aa\u06ac\u0005l\u0000"+
55617 "\u0000\u06ab\u06a5\u0001\u0000\u0000\u0000\u06ab\u06a8\u0001\u0000\u0000"+
55618 "\u0000\u06ac\u0093\u0001\u0000\u0000\u0000\u06ad\u06ae\u0005\u0083\u0000"+
55619 "\u0000\u06ae\u06af\u0005\u001f\u0000\u0000\u06af\u06b4\u0003b1\u0000\u06b0"+
55620 "\u06b1\u0005%\u0000\u0000\u06b1\u06b3\u0003b1\u0000\u06b2\u06b0\u0001"+
55621 "\u0000\u0000\u0000\u06b3\u06b6\u0001\u0000\u0000\u0000\u06b4\u06b2\u0001"+
55622 "\u0000\u0000\u0000\u06b4\u06b5\u0001\u0000\u0000\u0000\u06b5\u06b9\u0001"+
55623 "\u0000\u0000\u0000\u06b6\u06b4\u0001\u0000\u0000\u0000\u06b7\u06b8\u0005"+
55624 "^\u0000\u0000\u06b8\u06ba\u0003\u00e6s\u0000\u06b9\u06b7\u0001\u0000\u0000"+
55625 "\u0000\u06b9\u06ba\u0001\u0000\u0000\u0000\u06ba\u06bb\u0001\u0000\u0000"+
55626 "\u0000\u06bb\u06bc\u0005 \u0000\u0000\u06bc\u0095\u0001\u0000\u0000\u0000"+
55627 "\u06bd\u06be\u0005\u02ce\u0000\u0000\u06be\u06bf\u0005\u001f\u0000\u0000"+
55628 "\u06bf\u06c2\u0003b1\u0000\u06c0\u06c1\u0005%\u0000\u0000\u06c1\u06c3"+
55629 "\u0003b1\u0000\u06c2\u06c0\u0001\u0000\u0000\u0000\u06c2\u06c3\u0001\u0000"+
55630 "\u0000\u0000\u06c3\u06c4\u0001\u0000\u0000\u0000\u06c4\u06c6\u0005 \u0000"+
55631 "\u0000\u06c5\u06c7\u0003\u0098L\u0000\u06c6\u06c5\u0001\u0000\u0000\u0000"+
55632 "\u06c6\u06c7\u0001\u0000\u0000\u0000\u06c7\u0097\u0001\u0000\u0000\u0000"+
55633 "\u06c8\u06c9\u0005M\u0000\u0000\u06c9\u06ca\u0005\u001f\u0000\u0000\u06ca"+
55634 "\u06cf\u0003\u009aM\u0000\u06cb\u06cc\u0005%\u0000\u0000\u06cc\u06ce\u0003"+
55635 "\u009aM\u0000\u06cd\u06cb\u0001\u0000\u0000\u0000\u06ce\u06d1\u0001\u0000"+
55636 "\u0000\u0000\u06cf\u06cd\u0001\u0000\u0000\u0000\u06cf\u06d0\u0001\u0000"+
55637 "\u0000\u0000\u06d0\u06d2\u0001\u0000\u0000\u0000\u06d1\u06cf\u0001\u0000"+
55638 "\u0000\u0000\u06d2\u06d3\u0005 \u0000\u0000\u06d3\u0099\u0001\u0000\u0000"+
55639 "\u0000\u06d4\u06d5\u0003H$\u0000\u06d5\u06d7\u0003\u00aeW\u0000\u06d6"+
55640 "\u06d8\u0003b1\u0000\u06d7\u06d6\u0001\u0000\u0000\u0000\u06d7\u06d8\u0001"+
55641 "\u0000\u0000\u0000\u06d8\u06db\u0001\u0000\u0000\u0000\u06d9\u06da\u0005"+
55642 "`\u0000\u0000\u06da\u06dc\u0005\u02c3\u0000\u0000\u06db\u06d9\u0001\u0000"+
55643 "\u0000\u0000\u06db\u06dc\u0001\u0000\u0000\u0000\u06dc\u009b\u0001\u0000"+
55644 "\u0000\u0000\u06dd\u06de\u0005\u02cf\u0000\u0000\u06de\u06df\u0005\u001f"+
55645 "\u0000\u0000\u06df\u06e0\u0003b1\u0000\u06e0\u06e8\u0005%\u0000\u0000"+
55646 "\u06e1\u06e2\u0003b1\u0000\u06e2\u06e3\u0005+\u0000\u0000\u06e3\u06e4"+
55647 "\u0003b1\u0000\u06e4\u06e5\u0005+\u0000\u0000\u06e5\u06e6\u0003b1\u0000"+
55648 "\u06e6\u06e9\u0001\u0000\u0000\u0000\u06e7\u06e9\u0003b1\u0000\u06e8\u06e1"+
55649 "\u0001\u0000\u0000\u0000\u06e8\u06e7\u0001\u0000\u0000\u0000\u06e9\u06ea"+
55650 "\u0001\u0000\u0000\u0000\u06ea\u06ed\u0005%\u0000\u0000\u06eb\u06ee\u0003"+
55651 "@ \u0000\u06ec\u06ee\u0003b1\u0000\u06ed\u06eb\u0001\u0000\u0000\u0000"+
55652 "\u06ed\u06ec\u0001\u0000\u0000\u0000\u06ee\u06ef\u0001\u0000\u0000\u0000"+
55653 "\u06ef\u06f0\u0005 \u0000\u0000\u06f0\u06ff\u0001\u0000\u0000\u0000\u06f1"+
55654 "\u06f2\u0005\u02cf\u0000\u0000\u06f2\u06f3\u0005\u001f\u0000\u0000\u06f3"+
55655 "\u06f4\u0005\u016c\u0000\u0000\u06f4\u06f9\u0003b1\u0000\u06f5\u06f6\u0005"+
55656 "%\u0000\u0000\u06f6\u06f8\u0003b1\u0000\u06f7\u06f5\u0001\u0000\u0000"+
55657 "\u0000\u06f8\u06fb\u0001\u0000\u0000\u0000\u06f9\u06f7\u0001\u0000\u0000"+
55658 "\u0000\u06f9\u06fa\u0001\u0000\u0000\u0000\u06fa\u06fc\u0001\u0000\u0000"+
55659 "\u0000\u06fb\u06f9\u0001\u0000\u0000\u0000\u06fc\u06fd\u0005 \u0000\u0000"+
55660 "\u06fd\u06ff\u0001\u0000\u0000\u0000\u06fe\u06dd\u0001\u0000\u0000\u0000"+
55661 "\u06fe\u06f1\u0001\u0000\u0000\u0000\u06ff\u009d\u0001\u0000\u0000\u0000"+
55662 "\u0700\u0701\u0003\u00a0P\u0000\u0701\u070b\u0005\u001f\u0000\u0000\u0702"+
55663 "\u0707\u0003b1\u0000\u0703\u0704\u0005%\u0000\u0000\u0704\u0706\u0003"+
55664 "b1\u0000\u0705\u0703\u0001\u0000\u0000\u0000\u0706\u0709\u0001\u0000\u0000"+
55665 "\u0000\u0707\u0705\u0001\u0000\u0000\u0000\u0707\u0708\u0001\u0000\u0000"+
55666 "\u0000\u0708\u070c\u0001\u0000\u0000\u0000\u0709\u0707\u0001\u0000\u0000"+
55667 "\u0000\u070a\u070c\u0005\u0011\u0000\u0000\u070b\u0702\u0001\u0000\u0000"+
55668 "\u0000\u070b\u070a\u0001\u0000\u0000\u0000\u070b\u070c\u0001\u0000\u0000"+
55669 "\u0000\u070c\u070d\u0001\u0000\u0000\u0000\u070d\u070e\u0005 \u0000\u0000"+
55670 "\u070e\u009f\u0001\u0000\u0000\u0000\u070f\u0710\u0003L&\u0000\u0710\u0711"+
55671 "\u0005\u0014\u0000\u0000\u0711\u0713\u0001\u0000\u0000\u0000\u0712\u070f"+
55672 "\u0001\u0000\u0000\u0000\u0712\u0713\u0001\u0000\u0000\u0000\u0713\u0714"+
55673 "\u0001\u0000\u0000\u0000\u0714\u071a\u0003*\u0015\u0000\u0715\u071a\u0005"+
55674 "c\u0000\u0000\u0716\u071a\u0005\u008a\u0000\u0000\u0717\u071a\u0005\u008b"+
55675 "\u0000\u0000\u0718\u071a\u0005\u0086\u0000\u0000\u0719\u0712\u0001\u0000"+
55676 "\u0000\u0000\u0719\u0715\u0001\u0000\u0000\u0000\u0719\u0716\u0001\u0000"+
55677 "\u0000\u0000\u0719\u0717\u0001\u0000\u0000\u0000\u0719\u0718\u0001\u0000"+
55678 "\u0000\u0000\u071a\u00a1\u0001\u0000\u0000\u0000\u071b\u071d\u0005P\u0000"+
55679 "\u0000\u071c\u071e\u0003t:\u0000\u071d\u071c\u0001\u0000\u0000\u0000\u071d"+
55680 "\u071e\u0001\u0000\u0000\u0000\u071e\u0720\u0001\u0000\u0000\u0000\u071f"+
55681 "\u0721\u0003\u00a4R\u0000\u0720\u071f\u0001\u0000\u0000\u0000\u0721\u0722"+
55682 "\u0001\u0000\u0000\u0000\u0722\u0720\u0001\u0000\u0000\u0000\u0722\u0723"+
55683 "\u0001\u0000\u0000\u0000\u0723\u0725\u0001\u0000\u0000\u0000\u0724\u0726"+
55684 "\u0003\u00a6S\u0000\u0725\u0724\u0001\u0000\u0000\u0000\u0725\u0726\u0001"+
55685 "\u0000\u0000\u0000\u0726\u0727\u0001\u0000\u0000\u0000\u0727\u0728\u0005"+
55686 "\u011e\u0000\u0000\u0728\u00a3\u0001\u0000\u0000\u0000\u0729\u072a\u0005"+
55687 "Q\u0000\u0000\u072a\u072b\u0003b1\u0000\u072b\u072c\u0005e\u0000\u0000"+
55688 "\u072c\u072d\u0003b1\u0000\u072d\u00a5\u0001\u0000\u0000\u0000\u072e\u072f"+
55689 "\u0005d\u0000\u0000\u072f\u0730\u0003b1\u0000\u0730\u00a7\u0001\u0000"+
55690 "\u0000\u0000\u0731\u0736\u0003\u00b8\\\u0000\u0732\u0736\u0003\u00b2Y"+
55691 "\u0000\u0733\u0736\u0003\u00b4Z\u0000\u0734\u0736\u0003\u00b6[\u0000\u0735"+
55692 "\u0731\u0001\u0000\u0000\u0000\u0735\u0732\u0001\u0000\u0000\u0000\u0735"+
55693 "\u0733\u0001\u0000\u0000\u0000\u0735\u0734\u0001\u0000\u0000\u0000\u0736"+
55694 "\u00a9\u0001\u0000\u0000\u0000\u0737\u0738\u0005u\u0000\u0000\u0738\u0739"+
55695 "\u0005w\u0000\u0000\u0739\u073e\u0003\u00acV\u0000\u073a\u073b\u0005%"+
55696 "\u0000\u0000\u073b\u073d\u0003\u00acV\u0000\u073c\u073a\u0001\u0000\u0000"+
55697 "\u0000\u073d\u0740\u0001\u0000\u0000\u0000\u073e\u073c\u0001\u0000\u0000"+
55698 "\u0000\u073e\u073f\u0001\u0000\u0000\u0000\u073f\u074c\u0001\u0000\u0000"+
55699 "\u0000\u0740\u073e\u0001\u0000\u0000\u0000\u0741\u0742\u0005|\u0000\u0000"+
55700 "\u0742\u0743\u0003b1\u0000\u0743\u074a\u0007\u0015\u0000\u0000\u0744\u0745"+
55701 "\u0005\u01bf\u0000\u0000\u0745\u0746\u0007\u0016\u0000\u0000\u0746\u0747"+
55702 "\u0003b1\u0000\u0747\u0748\u0007\u0015\u0000\u0000\u0748\u0749\u0005\u01c1"+
55703 "\u0000\u0000\u0749\u074b\u0001\u0000\u0000\u0000\u074a\u0744\u0001\u0000"+
55704 "\u0000\u0000\u074a\u074b\u0001\u0000\u0000\u0000\u074b\u074d\u0001\u0000"+
55705 "\u0000\u0000\u074c\u0741\u0001\u0000\u0000\u0000\u074c\u074d\u0001\u0000"+
55706 "\u0000\u0000\u074d\u00ab\u0001\u0000\u0000\u0000\u074e\u0752\u0003H$\u0000"+
55707 "\u074f\u0752\u0003\u001e\u000f\u0000\u0750\u0752\u0003b1\u0000\u0751\u074e"+
55708 "\u0001\u0000\u0000\u0000\u0751\u074f\u0001\u0000\u0000\u0000\u0751\u0750"+
55709 "\u0001\u0000\u0000\u0000\u0752\u0755\u0001\u0000\u0000\u0000\u0753\u0754"+
55710 "\u0005\u010f\u0000\u0000\u0754\u0756\u0003*\u0015\u0000\u0755\u0753\u0001"+
55711 "\u0000\u0000\u0000\u0755\u0756\u0001\u0000\u0000\u0000\u0756\u0758\u0001"+
55712 "\u0000\u0000\u0000\u0757\u0759\u0007\u0012\u0000\u0000\u0758\u0757\u0001"+
55713 "\u0000\u0000\u0000\u0758\u0759\u0001\u0000\u0000\u0000\u0759\u00ad\u0001"+
55714 "\u0000\u0000\u0000\u075a\u075b\u0003\u00e6s\u0000\u075b\u075c\u0005\u0014"+
55715 "\u0000\u0000\u075c\u075e\u0001\u0000\u0000\u0000\u075d\u075a\u0001\u0000"+
55716 "\u0000\u0000\u075d\u075e\u0001\u0000\u0000\u0000\u075e\u075f\u0001\u0000"+
55717 "\u0000\u0000\u075f\u076b\u0003\u00b0X\u0000\u0760\u076c\u0003^/\u0000"+
55718 "\u0761\u0762\u0005\u001f\u0000\u0000\u0762\u0763\u0005\u0095\u0000\u0000"+
55719 "\u0763\u076c\u0005 \u0000\u0000\u0764\u0766\u0005\u001f\u0000\u0000\u0765"+
55720 "\u0767\u0007\u0017\u0000\u0000\u0766\u0765\u0001\u0000\u0000\u0000\u0766"+
55721 "\u0767\u0001\u0000\u0000\u0000\u0767\u0768\u0001\u0000\u0000\u0000\u0768"+
55722 "\u0769\u0003\u00e6s\u0000\u0769\u076a\u0005 \u0000\u0000\u076a\u076c\u0001"+
55723 "\u0000\u0000\u0000\u076b\u0760\u0001\u0000\u0000\u0000\u076b\u0761\u0001"+
55724 "\u0000\u0000\u0000\u076b\u0764\u0001\u0000\u0000\u0000\u076b\u076c\u0001"+
55725 "\u0000\u0000\u0000\u076c\u00af\u0001\u0000\u0000\u0000\u076d\u076e\u0007"+
55726 "\u0018\u0000\u0000\u076e\u00b1\u0001\u0000\u0000\u0000\u076f\u0773\u0005"+
55727 "\u02d2\u0000\u0000\u0770\u0771\u0005M\u0000\u0000\u0771\u0772\u0005\u0088"+
55728 "\u0000\u0000\u0772\u0774\u0005\u0145\u0000\u0000\u0773\u0770\u0001\u0000"+
55729 "\u0000\u0000\u0773\u0774\u0001\u0000\u0000\u0000\u0774\u0775\u0001\u0000"+
55730 "\u0000\u0000\u0775\u0776\u0005\u02d4\u0000\u0000\u0776\u00b3\u0001\u0000"+
55731 "\u0000\u0000\u0777\u0778\u0005R\u0000\u0000\u0778\u0779\u0005\u001f\u0000"+
55732 "\u0000\u0779\u077a\u0003b1\u0000\u077a\u077b\u0005`\u0000\u0000\u077b"+
55733 "\u077f\u0003\u00aeW\u0000\u077c\u077d\u0005\u001f\u0000\u0000\u077d\u077e"+
55734 "\u0005\u02d5\u0000\u0000\u077e\u0780\u0005 \u0000\u0000\u077f\u077c\u0001"+
55735 "\u0000\u0000\u0000\u077f\u0780\u0001\u0000\u0000\u0000\u0780\u0781\u0001"+
55736 "\u0000\u0000\u0000\u0781\u0782\u0005 \u0000\u0000\u0782\u00b5\u0001\u0000"+
55737 "\u0000\u0000\u0783\u0784\u0005\u0112\u0000\u0000\u0784\u0788\u0003\u00ae"+
55738 "W\u0000\u0785\u0786\u0005\u001f\u0000\u0000\u0786\u0787\u0005\u02d5\u0000"+
55739 "\u0000\u0787\u0789\u0005 \u0000\u0000\u0788\u0785\u0001\u0000\u0000\u0000"+
55740 "\u0788\u0789\u0001\u0000\u0000\u0000\u0789\u078a\u0001\u0000\u0000\u0000"+
55741 "\u078a\u078b\u0005%\u0000\u0000\u078b\u078e\u0003b1\u0000\u078c\u078d"+
55742 "\u0005%\u0000\u0000\u078d\u078f\u0005\u02d5\u0000\u0000\u078e\u078c\u0001"+
55743 "\u0000\u0000\u0000\u078e\u078f\u0001\u0000\u0000\u0000\u078f\u00b7\u0001"+
55744 "\u0000\u0000\u0000\u0790\u0791\u0007\u0019\u0000\u0000\u0791\u0792\u0005"+
55745 "\u001f\u0000\u0000\u0792\u0793\u0003b1\u0000\u0793\u0795\u0005 \u0000"+
55746 "\u0000\u0794\u0796\u0003\u00ba]\u0000\u0795\u0794\u0001\u0000\u0000\u0000"+
55747 "\u0795\u0796\u0001\u0000\u0000\u0000\u0796\u0797\u0001\u0000\u0000\u0000"+
55748 "\u0797\u0798\u0003\u00bc^\u0000\u0798\u00b9\u0001\u0000\u0000\u0000\u0799"+
55749 "\u079a\u0007\u001a\u0000\u0000\u079a\u079b\u0005\u02de\u0000\u0000\u079b"+
55750 "\u00bb\u0001\u0000\u0000\u0000\u079c\u079d\u0005\u0132\u0000\u0000\u079d"+
55751 "\u079f\u0005\u001f\u0000\u0000\u079e\u07a0\u0003\u00be_\u0000\u079f\u079e"+
55752 "\u0001\u0000\u0000\u0000\u079f\u07a0\u0001\u0000\u0000\u0000\u07a0\u07a2"+
55753 "\u0001\u0000\u0000\u0000\u07a1\u07a3\u0003\u00aaU\u0000\u07a2\u07a1\u0001"+
55754 "\u0000\u0000\u0000\u07a2\u07a3\u0001\u0000\u0000\u0000\u07a3\u07a5\u0001"+
55755 "\u0000\u0000\u0000\u07a4\u07a6\u0003\u00c0`\u0000\u07a5\u07a4\u0001\u0000"+
55756 "\u0000\u0000\u07a5\u07a6\u0001\u0000\u0000\u0000\u07a6\u07a7\u0001\u0000"+
55757 "\u0000\u0000\u07a7\u07a8\u0005 \u0000\u0000\u07a8\u00bd\u0001\u0000\u0000"+
55758 "\u0000\u07a9\u07aa\u0005\u00f6\u0000\u0000\u07aa\u07ab\u0005w\u0000\u0000"+
55759 "\u07ab\u07b0\u0003b1\u0000\u07ac\u07ad\u0005%\u0000\u0000\u07ad\u07af"+
55760 "\u0003b1\u0000\u07ae\u07ac\u0001\u0000\u0000\u0000\u07af\u07b2\u0001\u0000"+
55761 "\u0000\u0000\u07b0\u07ae\u0001\u0000\u0000\u0000\u07b0\u07b1\u0001\u0000"+
55762 "\u0000\u0000\u07b1\u00bf\u0001\u0000\u0000\u0000\u07b2\u07b0\u0001\u0000"+
55763 "\u0000\u0000\u07b3\u07b4\u0007\u001b\u0000\u0000\u07b4\u07b5\u0003\u00c2"+
55764 "a\u0000\u07b5\u00c1\u0001\u0000\u0000\u0000\u07b6\u07b9\u0003\u00c8d\u0000"+
55765 "\u07b7\u07b9\u0003\u00c4b\u0000\u07b8\u07b6\u0001\u0000\u0000\u0000\u07b8"+
55766 "\u07b7\u0001\u0000\u0000\u0000\u07b9\u00c3\u0001\u0000\u0000\u0000\u07ba"+
55767 "\u07bb\u0005p\u0000\u0000\u07bb\u07bc\u0003\u00c6c\u0000\u07bc\u07bd\u0005"+
55768 "h\u0000\u0000\u07bd\u07be\u0003\u00c6c\u0000\u07be\u00c5\u0001\u0000\u0000"+
55769 "\u0000\u07bf\u07c2\u0003\u00c8d\u0000\u07c0\u07c2\u0003\u00cae\u0000\u07c1"+
55770 "\u07bf\u0001\u0000\u0000\u0000\u07c1\u07c0\u0001\u0000\u0000\u0000\u07c2"+
55771 "\u00c7\u0001\u0000\u0000\u0000\u07c3\u07c4\u0005\u0128\u0000\u0000\u07c4"+
55772 "\u07ca\u0005\u0137\u0000\u0000\u07c5\u07c6\u0005\u02d5\u0000\u0000\u07c6"+
55773 "\u07ca\u0005\u0137\u0000\u0000\u07c7\u07c8\u0005\u009b\u0000\u0000\u07c8"+
55774 "\u07ca\u0005\u00f9\u0000\u0000\u07c9\u07c3\u0001\u0000\u0000\u0000\u07c9"+
55775 "\u07c5\u0001\u0000\u0000\u0000\u07c9\u07c7\u0001\u0000\u0000\u0000\u07ca"+
55776 "\u00c9\u0001\u0000\u0000\u0000\u07cb\u07cc\u0005\u0128\u0000\u0000\u07cc"+
55777 "\u07d2\u0005\u0122\u0000\u0000\u07cd\u07ce\u0005\u02d5\u0000\u0000\u07ce"+
55778 "\u07d2\u0005\u0122\u0000\u0000\u07cf\u07d0\u0005\u009b\u0000\u0000\u07d0"+
55779 "\u07d2\u0005\u00f9\u0000\u0000\u07d1\u07cb\u0001\u0000\u0000\u0000\u07d1"+
55780 "\u07cd\u0001\u0000\u0000\u0000\u07d1\u07cf\u0001\u0000\u0000\u0000\u07d2"+
55781 "\u00cb\u0001\u0000\u0000\u0000\u07d3\u07d5\u0003H$\u0000\u07d4\u07d6\u0007"+
55782 "\u0012\u0000\u0000\u07d5\u07d4\u0001\u0000\u0000\u0000\u07d5\u07d6\u0001"+
55783 "\u0000\u0000\u0000\u07d6\u00cd\u0001\u0000\u0000\u0000\u07d7\u07d8\u0005"+
55784 "\u0121\u0000\u0000\u07d8\u07d9\u0005\u0018\u0000\u0000\u07d9\u07e5\u0005"+
55785 "\u02d5\u0000\u0000\u07da\u07e5\u0003\u00d4j\u0000\u07db\u07dc\u0007\u001c"+
55786 "\u0000\u0000\u07dc\u07e5\u0003\u00d2i\u0000\u07dd\u07de\u0005\u012c\u0000"+
55787 "\u0000\u07de\u07df\u0005\u0018\u0000\u0000\u07df\u07e5\u0005\u02d5\u0000"+
55788 "\u0000\u07e0\u07e2\u0003\u00d0h\u0000\u07e1\u07e3\u0003\u00dam\u0000\u07e2"+
55789 "\u07e1\u0001\u0000\u0000\u0000\u07e2\u07e3\u0001\u0000\u0000\u0000\u07e3"+
55790 "\u07e5\u0001\u0000\u0000\u0000\u07e4\u07d7\u0001\u0000\u0000\u0000\u07e4"+
55791 "\u07da\u0001\u0000\u0000\u0000\u07e4\u07db\u0001\u0000\u0000\u0000\u07e4"+
55792 "\u07dd\u0001\u0000\u0000\u0000\u07e4\u07e0\u0001\u0000\u0000\u0000\u07e5"+
55793 "\u00cf\u0001\u0000\u0000\u0000\u07e6\u07e7\u0005\u019f\u0000\u0000\u07e7"+
55794 "\u07e8\u0005\u0018\u0000\u0000\u07e8\u07e9\u0007\u001d\u0000\u0000\u07e9"+
55795 "\u00d1\u0001\u0000\u0000\u0000\u07ea\u07eb\u0005\u0018\u0000\u0000\u07eb"+
55796 "\u07ed\u0005\u02d5\u0000\u0000\u07ec\u07ee\u0005\u0117\u0000\u0000\u07ed"+
55797 "\u07ec\u0001\u0000\u0000\u0000\u07ed\u07ee\u0001\u0000\u0000\u0000\u07ee"+
55798 "\u00d3\u0001\u0000\u0000\u0000\u07ef\u07f0\u0003\u00d6k\u0000\u07f0\u07f1"+
55799 "\u0003\u00d8l\u0000\u07f1\u00d5\u0001\u0000\u0000\u0000\u07f2\u07f3\u0007"+
55800 "\u001e\u0000\u0000\u07f3\u00d7\u0001\u0000\u0000\u0000\u07f4\u07f5\u0005"+
55801 "\u0018\u0000\u0000\u07f5\u07f6\u0007\u0000\u0000\u0000\u07f6\u00d9\u0001"+
55802 "\u0000\u0000\u0000\u07f7\u07f8\u0005a\u0000\u0000\u07f8\u07f9\u0005\u00f7"+
55803 "\u0000\u0000\u07f9\u07fa\u0005\u001f\u0000\u0000\u07fa\u07fb\u0003\u00dc"+
55804 "n\u0000\u07fb\u07fc\u0005 \u0000\u0000\u07fc\u00db\u0001\u0000\u0000\u0000"+
55805 "\u07fd\u0802\u0003\u00deo\u0000\u07fe\u07ff\u0005%\u0000\u0000\u07ff\u0801"+
55806 "\u0003\u00deo\u0000\u0800\u07fe\u0001\u0000\u0000\u0000\u0801\u0804\u0001"+
55807 "\u0000\u0000\u0000\u0802\u0800\u0001\u0000\u0000\u0000\u0802\u0803\u0001"+
55808 "\u0000\u0000\u0000\u0803\u00dd\u0001\u0000\u0000\u0000\u0804\u0802\u0001"+
55809 "\u0000\u0000\u0000\u0805\u0808\u0005\u02d5\u0000\u0000\u0806\u0808\u0003"+
55810 "\u00e0p\u0000\u0807\u0805\u0001\u0000\u0000\u0000\u0807\u0806\u0001\u0000"+
55811 "\u0000\u0000\u0808\u00df\u0001\u0000\u0000\u0000\u0809\u080a\u0005\u02d5"+
55812 "\u0000\u0000\u080a\u080b\u0005g\u0000\u0000\u080b\u080c\u0005\u02d5\u0000"+
55813 "\u0000\u080c\u00e1\u0001\u0000\u0000\u0000\u080d\u080e\u0005\u01a5\u0000"+
55814 "\u0000\u080e\u080f\u0005\u001f\u0000\u0000\u080f\u0810\u0005\u01ae\u0000"+
55815 "\u0000\u0810\u0811\u0005\u0018\u0000\u0000\u0811\u0813\u0005\u02d5\u0000"+
55816 "\u0000\u0812\u0814\u0005\u0117\u0000\u0000\u0813\u0812\u0001\u0000\u0000"+
55817 "\u0000\u0813\u0814\u0001\u0000\u0000\u0000\u0814\u0815\u0001\u0000\u0000"+
55818 "\u0000\u0815\u0816\u0005%\u0000\u0000\u0816\u0817\u0005\u0195\u0000\u0000"+
55819 "\u0817\u0818\u0005\u0018\u0000\u0000\u0818\u0819\u0007\u001f\u0000\u0000"+
55820 "\u0819\u081a\u0005 \u0000\u0000\u081a\u00e3\u0001\u0000\u0000\u0000\u081b"+
55821 "\u0820\u0005a\u0000\u0000\u081c\u081d\u0005\u001f\u0000\u0000\u081d\u081e"+
55822 "\u0003\u00e2q\u0000\u081e\u081f\u0005 \u0000\u0000\u081f\u0821\u0001\u0000"+
55823 "\u0000\u0000\u0820\u081c\u0001\u0000\u0000\u0000\u0820\u0821\u0001\u0000"+
55824 "\u0000\u0000\u0821\u00e5\u0001\u0000\u0000\u0000\u0822\u0823\u0005\u02d2"+
55825 "\u0000\u0000\u0823\u00e7\u0001\u0000\u0000\u0000\u0824\u0829\u0003\u00e6"+
55826 "s\u0000\u0825\u0826\u0005%\u0000\u0000\u0826\u0828\u0003\u00e6s\u0000"+
55827 "\u0827\u0825\u0001\u0000\u0000\u0000\u0828\u082b\u0001\u0000\u0000\u0000"+
55828 "\u0829\u0827\u0001\u0000\u0000\u0000\u0829\u082a\u0001\u0000\u0000\u0000"+
55829 "\u082a\u00e9\u0001\u0000\u0000\u0000\u082b\u0829\u0001\u0000\u0000\u0000"+
55830 "\u082c\u082d\u0005\u0001\u0000\u0000\u082d\u00eb\u0001\u0000\u0000\u0000"+
55831 "\u082e\u082f\u0003*\u0015\u0000\u082f\u00ed\u0001\u0000\u0000\u0000\u0830"+
55832 "\u0831\u0007 \u0000\u0000\u0831\u0836\u0005`\u0000\u0000\u0832\u0837\u0005"+
55833 "\u0212\u0000\u0000\u0833\u0837\u0005\u0140\u0000\u0000\u0834\u0837\u0005"+
55834 "\u0217\u0000\u0000\u0835\u0837\u0003\u001c\u000e\u0000\u0836\u0832\u0001"+
55835 "\u0000\u0000\u0000\u0836\u0833\u0001\u0000\u0000\u0000\u0836\u0834\u0001"+
55836 "\u0000\u0000\u0000\u0836\u0835\u0001\u0000\u0000\u0000\u0837\u00ef\u0001"+
55837 "\u0000\u0000\u0000\u0838\u0839\u0003*\u0015\u0000\u0839\u00f1\u0001\u0000"+
55838 "\u0000\u0000\u083a\u083b\u0003\u00ecv\u0000\u083b\u00f3\u0001\u0000\u0000"+
55839 "\u0000\u083c\u083d\u0003*\u0015\u0000\u083d\u00f5\u0001\u0000\u0000\u0000"+
55840 "\u083e\u083f\u0003\u00ecv\u0000\u083f\u00f7\u0001\u0000\u0000\u0000\u0840"+
55841 "\u0841\u0007!\u0000\u0000\u0841\u00f9\u0001\u0000\u0000\u0000\u0842\u0843"+
55842 "\u0005c\u0000\u0000\u0843\u0844\u0005o\u0000\u0000\u0844\u00fb\u0001\u0000"+
55843 "\u0000\u0000\u0845\u0846\u0007\"\u0000\u0000\u0846\u00fd\u0001\u0000\u0000"+
55844 "\u0000\u0847\u0848\u0005\u009e\u0000\u0000\u0848\u00ff\u0001\u0000\u0000"+
55845 "\u0000\u0849\u084b\u0005\u029d\u0000\u0000\u084a\u084c\u0005\u029e\u0000"+
55846 "\u0000\u084b\u084a\u0001\u0000\u0000\u0000\u084b\u084c\u0001\u0000\u0000"+
55847 "\u0000\u084c\u084d\u0001\u0000\u0000\u0000\u084d\u084e\u0003\u0102\u0081"+
55848 "\u0000\u084e\u0101\u0001\u0000\u0000\u0000\u084f\u0855\u0003\u02de\u016f"+
55849 "\u0000\u0850\u0855\u0003\u02bc\u015e\u0000\u0851\u0855\u0003\u02ca\u0165"+
55850 "\u0000\u0852\u0855\u0003\u02d4\u016a\u0000\u0853\u0855\u0003\u02b2\u0159"+
55851 "\u0000\u0854\u084f\u0001\u0000\u0000\u0000\u0854\u0850\u0001\u0000\u0000"+
55852 "\u0000\u0854\u0851\u0001\u0000\u0000\u0000\u0854\u0852\u0001\u0000\u0000"+
55853 "\u0000\u0854\u0853\u0001\u0000\u0000\u0000\u0855\u0103\u0001\u0000\u0000"+
55854 "\u0000\u0856\u0859\u0003\u0106\u0083\u0000\u0857\u0859\u0003\u02b2\u0159"+
55855 "\u0000\u0858\u0856\u0001\u0000\u0000\u0000\u0858\u0857\u0001\u0000\u0000"+
55856 "\u0000\u0859\u0105\u0001\u0000\u0000\u0000\u085a\u085b\u00052\u0000\u0000"+
55857 "\u085b\u085c\u0005;\u0000\u0000\u085c\u085d\u0003@ \u0000\u085d\u085e"+
55858 "\u0003\u014e\u00a7\u0000\u085e\u085f\u0003\u0150\u00a8\u0000\u085f\u0107"+
55859 "\u0001\u0000\u0000\u0000\u0860\u0861\u00052\u0000\u0000\u0861\u0862\u0003"+
55860 "\u01be\u00df\u0000\u0862\u0863\u0005>\u0000\u0000\u0863\u0864\u0003V+"+
55861 "\u0000\u0864\u0865\u0005a\u0000\u0000\u0865\u0866\u0003@ \u0000\u0866"+
55862 "\u0867\u0003R)\u0000\u0867\u0868\u0003\u0264\u0132\u0000\u0868\u0109\u0001"+
55863 "\u0000\u0000\u0000\u0869\u086a\u00052\u0000\u0000\u086a\u086b\u0005\u00cc"+
55864 "\u0000\u0000\u086b\u086c\u00032\u0019\u0000\u086c\u086d\u0003\u0206\u0103"+
55865 "\u0000\u086d\u010b\u0001\u0000\u0000\u0000\u086e\u0871\u00052\u0000\u0000"+
55866 "\u086f\u0870\u0005i\u0000\u0000\u0870\u0872\u00053\u0000\u0000\u0871\u086f"+
55867 "\u0001\u0000\u0000\u0000\u0871\u0872\u0001\u0000\u0000\u0000\u0872\u0873"+
55868 "\u0001\u0000\u0000\u0000\u0873\u0874\u0005F\u0000\u0000\u0874\u0875\u0003"+
55869 "6\u001b\u0000\u0875\u0876\u0003\u0232\u0119\u0000\u0876\u0877\u0003\u0234"+
55870 "\u011a\u0000\u0877\u010d\u0001\u0000\u0000\u0000\u0878\u087b\u00052\u0000"+
55871 "\u0000\u0879\u087a\u0005i\u0000\u0000\u087a\u087c\u00053\u0000\u0000\u087b"+
55872 "\u0879\u0001\u0000\u0000\u0000\u087b\u087c\u0001\u0000\u0000\u0000\u087c"+
55873 "\u087d\u0001\u0000\u0000\u0000\u087d\u087e\u0007#\u0000\u0000\u087e\u087f"+
55874 "\u00038\u001c\u0000\u087f\u0880\u0003\u0244\u0122\u0000\u0880\u0881\u0003"+
55875 "\u0248\u0124\u0000\u0881\u010f\u0001\u0000\u0000\u0000\u0882\u0885\u0005"+
55876 "2\u0000\u0000\u0883\u0884\u0005i\u0000\u0000\u0884\u0886\u00053\u0000"+
55877 "\u0000\u0885\u0883\u0001\u0000\u0000\u0000\u0885\u0886\u0001\u0000\u0000"+
55878 "\u0000\u0886\u0887\u0001\u0000\u0000\u0000\u0887\u0888\u0005J\u0000\u0000"+
55879 "\u0888\u0889\u0003:\u001d\u0000\u0889\u088a\u0003\u0252\u0129\u0000\u088a"+
55880 "\u0111\u0001\u0000\u0000\u0000\u088b\u088e\u00052\u0000\u0000\u088c\u088d"+
55881 "\u0005i\u0000\u0000\u088d\u088f\u00053\u0000\u0000\u088e\u088c\u0001\u0000"+
55882 "\u0000\u0000\u088e\u088f\u0001\u0000\u0000\u0000\u088f\u0890\u0001\u0000"+
55883 "\u0000\u0000\u0890\u0891\u0005G\u0000\u0000\u0891\u0892\u0003<\u001e\u0000"+
55884 "\u0892\u0893\u0005a\u0000\u0000\u0893\u0894\u0003\u0260\u0130\u0000\u0894"+
55885 "\u0895\u0003\u025a\u012d\u0000\u0895\u0113\u0001\u0000\u0000\u0000\u0896"+
55886 "\u0897\u00052\u0000\u0000\u0897\u0898\u0005\u0194\u0000\u0000\u0898\u089c"+
55887 "\u0003>\u001f\u0000\u0899\u089b\u0003\u0262\u0131\u0000\u089a\u0899\u0001"+
55888 "\u0000\u0000\u0000\u089b\u089e\u0001\u0000\u0000\u0000\u089c\u089a\u0001"+
55889 "\u0000\u0000\u0000\u089c\u089d\u0001\u0000\u0000\u0000\u089d\u0115\u0001"+
55890 "\u0000\u0000\u0000\u089e\u089c\u0001\u0000\u0000\u0000\u089f\u08a0\u0005"+
55891 "2\u0000\u0000\u08a0\u08a1\u0005\u0173\u0000\u0000\u08a1\u08a4\u0003F#"+
55892 "\u0000\u08a2\u08a3\u0005\u029b\u0000\u0000\u08a3\u08a5\u0005\u02d4\u0000"+
55893 "\u0000\u08a4\u08a2\u0001\u0000\u0000\u0000\u08a4\u08a5\u0001\u0000\u0000"+
55894 "\u0000\u08a5\u08a6\u0001\u0000\u0000\u0000\u08a6\u08a7\u0005a\u0000\u0000"+
55895 "\u08a7\u08a8\u0005\u0187\u0000\u0000\u08a8\u08aa\u0003B!\u0000\u08a9\u08ab"+
55896 "\u0003\u02a8\u0154\u0000\u08aa\u08a9\u0001\u0000\u0000\u0000\u08aa\u08ab"+
55897 "\u0001\u0000\u0000\u0000\u08ab\u0117\u0001\u0000\u0000\u0000\u08ac\u08ad"+
55898 "\u00052\u0000\u0000\u08ad\u08ae\u00056\u0000\u0000\u08ae\u08b2\u0003\u02ae"+
55899 "\u0157\u0000\u08af\u08b1\u0003\u02b0\u0158\u0000\u08b0\u08af\u0001\u0000"+
55900 "\u0000\u0000\u08b1\u08b4\u0001\u0000\u0000\u0000\u08b2\u08b0\u0001\u0000"+
55901 "\u0000\u0000\u08b2\u08b3\u0001\u0000\u0000\u0000\u08b3\u0119\u0001\u0000"+
55902 "\u0000\u0000\u08b4\u08b2\u0001\u0000\u0000\u0000\u08b5\u08b6\u00053\u0000"+
55903 "\u0000\u08b6\u08b7\u0005;\u0000\u0000\u08b7\u08b8\u0003@ \u0000\u08b8"+
55904 "\u08bd\u0003\u01c0\u00e0\u0000\u08b9\u08ba\u0005%\u0000\u0000\u08ba\u08bc"+
55905 "\u0003\u01c0\u00e0\u0000\u08bb\u08b9\u0001\u0000\u0000\u0000\u08bc\u08bf"+
55906 "\u0001\u0000\u0000\u0000\u08bd\u08bb\u0001\u0000\u0000\u0000\u08bd\u08be"+
55907 "\u0001\u0000\u0000\u0000\u08be\u011b\u0001\u0000\u0000\u0000\u08bf\u08bd"+
55908 "\u0001\u0000\u0000\u0000\u08c0\u08c1\u00053\u0000\u0000\u08c1\u08c4\u0005"+
55909 ">\u0000\u0000\u08c2\u08c5\u0003V+\u0000\u08c3\u08c5\u0005r\u0000\u0000"+
55910 "\u08c4\u08c2\u0001\u0000\u0000\u0000\u08c4\u08c3\u0001\u0000\u0000\u0000"+
55911 "\u08c5\u08c6\u0001\u0000\u0000\u0000\u08c6\u08c7\u0005a\u0000\u0000\u08c7"+
55912 "\u08c8\u0003@ \u0000\u08c8\u08c9\u0003\u026a\u0135\u0000\u08c9\u011d\u0001"+
55913 "\u0000\u0000\u0000\u08ca\u08cb\u00053\u0000\u0000\u08cb\u08ce\u0005\u00cc"+
55914 "\u0000\u0000\u08cc\u08cf\u00032\u0019\u0000\u08cd\u08cf\u0005\u009b\u0000"+
55915 "\u0000\u08ce\u08cc\u0001\u0000\u0000\u0000\u08ce\u08cd\u0001\u0000\u0000"+
55916 "\u0000\u08cf\u08d3\u0001\u0000\u0000\u0000\u08d0\u08d2\u0003\u0276\u013b"+
55917 "\u0000\u08d1\u08d0\u0001\u0000\u0000\u0000\u08d2\u08d5\u0001\u0000\u0000"+
55918 "\u0000\u08d3\u08d1\u0001\u0000\u0000\u0000\u08d3\u08d4\u0001\u0000\u0000"+
55919 "\u0000\u08d4\u011f\u0001\u0000\u0000\u0000\u08d5\u08d3\u0001\u0000\u0000"+
55920 "\u0000\u08d6\u08d7\u00053\u0000\u0000\u08d7\u08d8\u0007#\u0000\u0000\u08d8"+
55921 "\u08d9\u00038\u001c\u0000\u08d9\u08da\u0003\u0244\u0122\u0000\u08da\u08db"+
55922 "\u0003\u0248\u0124\u0000\u08db\u0121\u0001\u0000\u0000\u0000\u08dc\u08dd"+
55923 "\u00053\u0000\u0000\u08dd\u08de\u0005F\u0000\u0000\u08de\u08df\u00036"+
55924 "\u001b\u0000\u08df\u08e0\u0003\u0232\u0119\u0000\u08e0\u08e1\u0003\u0234"+
55925 "\u011a\u0000\u08e1\u0123\u0001\u0000\u0000\u0000\u08e2\u08e3\u00053\u0000"+
55926 "\u0000\u08e3\u08e4\u0005J\u0000\u0000\u08e4\u08e5\u0003:\u001d\u0000\u08e5"+
55927 "\u08e6\u0003\u0252\u0129\u0000\u08e6\u0125\u0001\u0000\u0000\u0000\u08e7"+
55928 "\u08e8\u00053\u0000\u0000\u08e8\u08e9\u0005G\u0000\u0000\u08e9\u08ea\u0003"+
55929 "<\u001e\u0000\u08ea\u08eb\u0005a\u0000\u0000\u08eb\u08ec\u0003\u0260\u0130"+
55930 "\u0000\u08ec\u08ed\u0003\u025a\u012d\u0000\u08ed\u0127\u0001\u0000\u0000"+
55931 "\u0000\u08ee\u08ef\u00053\u0000\u0000\u08ef\u08f0\u0005\u0194\u0000\u0000"+
55932 "\u08f0\u08f4\u0003>\u001f\u0000\u08f1\u08f3\u0003\u0262\u0131\u0000\u08f2"+
55933 "\u08f1\u0001\u0000\u0000\u0000\u08f3\u08f6\u0001\u0000\u0000\u0000\u08f4"+
55934 "\u08f2\u0001\u0000\u0000\u0000\u08f4\u08f5\u0001\u0000\u0000\u0000\u08f5"+
55935 "\u0129\u0001\u0000\u0000\u0000\u08f6\u08f4\u0001\u0000\u0000\u0000\u08f7"+
55936 "\u08f8\u00053\u0000\u0000\u08f8\u08f9\u0005\u0173\u0000\u0000\u08f9\u08fd"+
55937 "\u0003F#\u0000\u08fa\u08fb\u0005a\u0000\u0000\u08fb\u08fc\u0005\u0187"+
55938 "\u0000\u0000\u08fc\u08fe\u0003B!\u0000\u08fd\u08fa\u0001\u0000\u0000\u0000"+
55939 "\u08fd\u08fe\u0001\u0000\u0000\u0000\u08fe\u0900\u0001\u0000\u0000\u0000"+
55940 "\u08ff\u0901\u0003\u02aa\u0155\u0000\u0900\u08ff\u0001\u0000\u0000\u0000"+
55941 "\u0900\u0901\u0001\u0000\u0000\u0000\u0901\u012b\u0001\u0000\u0000\u0000"+
55942 "\u0902\u0903\u00053\u0000\u0000\u0903\u0904\u00056\u0000\u0000\u0904\u0905"+
55943 "\u00034\u001a\u0000\u0905\u0907\u0005\u029c\u0000\u0000\u0906\u0908\u0003"+
55944 "\u0390\u01c8\u0000\u0907\u0906\u0001\u0000\u0000\u0000\u0907\u0908\u0001"+
55945 "\u0000\u0000\u0000\u0908\u0909\u0001\u0000\u0000\u0000\u0909\u090a\u0003"+
55946 "\u00e6s\u0000\u090a\u012d\u0001\u0000\u0000\u0000\u090b\u090c\u00054\u0000"+
55947 "\u0000\u090c\u090e\u0005;\u0000\u0000\u090d\u090f\u0003\u00fa}\u0000\u090e"+
55948 "\u090d\u0001\u0000\u0000\u0000\u090e\u090f\u0001\u0000\u0000\u0000\u090f"+
55949 "\u0910\u0001\u0000\u0000\u0000\u0910\u0911\u0003T*\u0000\u0911\u012f\u0001"+
55950 "\u0000\u0000\u0000\u0912\u0913\u00054\u0000\u0000\u0913\u0915\u0005>\u0000"+
55951 "\u0000\u0914\u0916\u0003\u00fa}\u0000\u0915\u0914\u0001\u0000\u0000\u0000"+
55952 "\u0915\u0916\u0001\u0000\u0000\u0000\u0916\u0917\u0001\u0000\u0000\u0000"+
55953 "\u0917\u0918\u0003V+\u0000\u0918\u0919\u0005a\u0000\u0000\u0919\u091a"+
55954 "\u0003@ \u0000\u091a\u0131\u0001\u0000\u0000\u0000\u091b\u091c\u00054"+
55955 "\u0000\u0000\u091c\u091e\u0005\u00cc\u0000\u0000\u091d\u091f\u0003\u00fa"+
55956 "}\u0000\u091e\u091d\u0001\u0000\u0000\u0000\u091e\u091f\u0001\u0000\u0000"+
55957 "\u0000\u091f\u0920\u0001\u0000\u0000\u0000\u0920\u0925\u00032\u0019\u0000"+
55958 "\u0921\u0922\u0005%\u0000\u0000\u0922\u0924\u00032\u0019\u0000\u0923\u0921"+
55959 "\u0001\u0000\u0000\u0000\u0924\u0927\u0001\u0000\u0000\u0000\u0925\u0923"+
55960 "\u0001\u0000\u0000\u0000\u0925\u0926\u0001\u0000\u0000\u0000\u0926\u0133"+
55961 "\u0001\u0000\u0000\u0000\u0927\u0925\u0001\u0000\u0000\u0000\u0928\u0929"+
55962 "\u00054\u0000\u0000\u0929\u092b\u0005F\u0000\u0000\u092a\u092c\u0003\u00fa"+
55963 "}\u0000\u092b\u092a\u0001\u0000\u0000\u0000\u092b\u092c\u0001\u0000\u0000"+
55964 "\u0000\u092c\u092d\u0001\u0000\u0000\u0000\u092d\u0932\u00036\u001b\u0000"+
55965 "\u092e\u092f\u0005%\u0000\u0000\u092f\u0931\u00036\u001b\u0000\u0930\u092e"+
55966 "\u0001\u0000\u0000\u0000\u0931\u0934\u0001\u0000\u0000\u0000\u0932\u0930"+
55967 "\u0001\u0000\u0000\u0000\u0932\u0933\u0001\u0000\u0000\u0000\u0933\u0135"+
55968 "\u0001\u0000\u0000\u0000\u0934\u0932\u0001\u0000\u0000\u0000\u0935\u0936"+
55969 "\u00054\u0000\u0000\u0936\u0938\u0007#\u0000\u0000\u0937\u0939\u0003\u00fa"+
55970 "}\u0000\u0938\u0937\u0001\u0000\u0000\u0000\u0938\u0939\u0001\u0000\u0000"+
55971 "\u0000\u0939\u093a\u0001\u0000\u0000\u0000\u093a\u093f\u00038\u001c\u0000"+
55972 "\u093b\u093c\u0005%\u0000\u0000\u093c\u093e\u00038\u001c\u0000\u093d\u093b"+
55973 "\u0001\u0000\u0000\u0000\u093e\u0941\u0001\u0000\u0000\u0000\u093f\u093d"+
55974 "\u0001\u0000\u0000\u0000\u093f\u0940\u0001\u0000\u0000\u0000\u0940\u0137"+
55975 "\u0001\u0000\u0000\u0000\u0941\u093f\u0001\u0000\u0000\u0000\u0942\u0943"+
55976 "\u00054\u0000\u0000\u0943\u0945\u0005J\u0000\u0000\u0944\u0946\u0003\u00fa"+
55977 "}\u0000\u0945\u0944\u0001\u0000\u0000\u0000\u0945\u0946\u0001\u0000\u0000"+
55978 "\u0000\u0946\u0947\u0001\u0000\u0000\u0000\u0947\u094c\u0003:\u001d\u0000"+
55979 "\u0948\u0949\u0005%\u0000\u0000\u0949\u094b\u0003:\u001d\u0000\u094a\u0948"+
55980 "\u0001\u0000\u0000\u0000\u094b\u094e\u0001\u0000\u0000\u0000\u094c\u094a"+
55981 "\u0001\u0000\u0000\u0000\u094c\u094d\u0001\u0000\u0000\u0000\u094d\u0139"+
55982 "\u0001\u0000\u0000\u0000\u094e\u094c\u0001\u0000\u0000\u0000\u094f\u0950"+
55983 "\u00054\u0000\u0000\u0950\u0952\u0005G\u0000\u0000\u0951\u0953\u0003\u00fa"+
55984 "}\u0000\u0952\u0951\u0001\u0000\u0000\u0000\u0952\u0953\u0001\u0000\u0000"+
55985 "\u0000\u0953\u0954\u0001\u0000\u0000\u0000\u0954\u0959\u0003<\u001e\u0000"+
55986 "\u0955\u0956\u0005%\u0000\u0000\u0956\u0958\u0003<\u001e\u0000\u0957\u0955"+
55987 "\u0001\u0000\u0000\u0000\u0958\u095b\u0001\u0000\u0000\u0000\u0959\u0957"+
55988 "\u0001\u0000\u0000\u0000\u0959\u095a\u0001\u0000\u0000\u0000\u095a\u0962"+
55989 "\u0001\u0000\u0000\u0000\u095b\u0959\u0001\u0000\u0000\u0000\u095c\u0960"+
55990 "\u0005a\u0000\u0000\u095d\u0961\u0005\u00cc\u0000\u0000\u095e\u095f\u0005"+
55991 "r\u0000\u0000\u095f\u0961\u0005\u0155\u0000\u0000\u0960\u095d\u0001\u0000"+
55992 "\u0000\u0000\u0960\u095e\u0001\u0000\u0000\u0000\u0961\u0963\u0001\u0000"+
55993 "\u0000\u0000\u0962\u095c\u0001\u0000\u0000\u0000\u0962\u0963\u0001\u0000"+
55994 "\u0000\u0000\u0963\u013b\u0001\u0000\u0000\u0000\u0964\u0965\u00054\u0000"+
55995 "\u0000\u0965\u0967\u0005\u0194\u0000\u0000\u0966\u0968\u0003\u00fa}\u0000"+
55996 "\u0967\u0966\u0001\u0000\u0000\u0000\u0967\u0968\u0001\u0000\u0000\u0000"+
55997 "\u0968\u0969\u0001\u0000\u0000\u0000\u0969\u096e\u0003>\u001f\u0000\u096a"+
55998 "\u096b\u0005%\u0000\u0000\u096b\u096d\u0003>\u001f\u0000\u096c\u096a\u0001"+
55999 "\u0000\u0000\u0000\u096d\u0970\u0001\u0000\u0000\u0000\u096e\u096c\u0001"+
56000 "\u0000\u0000\u0000\u096e\u096f\u0001\u0000\u0000\u0000\u096f\u013d\u0001"+
56001 "\u0000\u0000\u0000\u0970\u096e\u0001\u0000\u0000\u0000\u0971\u0972\u0005"+
56002 "4\u0000\u0000\u0972\u0973\u0005\u0173\u0000\u0000\u0973\u0974\u0003F#"+
56003 "\u0000\u0974\u013f\u0001\u0000\u0000\u0000\u0975\u0976\u00054\u0000\u0000"+
56004 "\u0976\u0978\u00056\u0000\u0000\u0977\u0979\u0003\u00fa}\u0000\u0978\u0977"+
56005 "\u0001\u0000\u0000\u0000\u0978\u0979\u0001\u0000\u0000\u0000\u0979\u097a"+
56006 "\u0001\u0000\u0000\u0000\u097a\u097b\u00034\u001a\u0000\u097b\u0141\u0001"+
56007 "\u0000\u0000\u0000\u097c\u097d\u00055\u0000\u0000\u097d\u097e\u0005;\u0000"+
56008 "\u0000\u097e\u097f\u0003@ \u0000\u097f\u0143\u0001\u0000\u0000\u0000\u0980"+
56009 "\u0981\u00050\u0000\u0000\u0981\u0982\u0005\u02c7\u0000\u0000\u0982\u0991"+
56010 "\u0003@ \u0000\u0983\u0985\u0005\u001f\u0000\u0000\u0984\u0983\u0001\u0000"+
56011 "\u0000\u0000\u0984\u0985\u0001\u0000\u0000\u0000\u0985\u0986\u0001\u0000"+
56012 "\u0000\u0000\u0986\u098b\u0003V+\u0000\u0987\u0988\u0005%\u0000\u0000"+
56013 "\u0988\u098a\u0003V+\u0000\u0989\u0987\u0001\u0000\u0000\u0000\u098a\u098d"+
56014 "\u0001\u0000\u0000\u0000\u098b\u0989\u0001\u0000\u0000\u0000\u098b\u098c"+
56015 "\u0001\u0000\u0000\u0000\u098c\u098f\u0001\u0000\u0000\u0000\u098d\u098b"+
56016 "\u0001\u0000\u0000\u0000\u098e\u0990\u0005 \u0000\u0000\u098f\u098e\u0001"+
56017 "\u0000\u0000\u0000\u098f\u0990\u0001\u0000\u0000\u0000\u0990\u0992\u0001"+
56018 "\u0000\u0000\u0000\u0991\u0984\u0001\u0000\u0000\u0000\u0991\u0992\u0001"+
56019 "\u0000\u0000\u0000\u0992\u0994\u0001\u0000\u0000\u0000\u0993\u0995\u0003"+
56020 "\u0146\u00a3\u0000\u0994\u0993\u0001\u0000\u0000\u0000\u0994\u0995\u0001"+
56021 "\u0000\u0000\u0000\u0995\u0145\u0001\u0000\u0000\u0000\u0996\u0998\u0005"+
56022 "M\u0000\u0000\u0997\u0999\u0003\u0148\u00a4\u0000\u0998\u0997\u0001\u0000"+
56023 "\u0000\u0000\u0998\u0999\u0001\u0000\u0000\u0000\u0999\u099b\u0001\u0000"+
56024 "\u0000\u0000\u099a\u099c\u0003\u014a\u00a5\u0000\u099b\u099a\u0001\u0000"+
56025 "\u0000\u0000\u099b\u099c\u0001\u0000\u0000\u0000\u099c\u0147\u0001\u0000"+
56026 "\u0000\u0000\u099d\u09a2\u0005\u02c8\u0000\u0000\u099e\u099f\u0005\u02c9"+
56027 "\u0000\u0000\u099f\u09a0\u0005\u02d5\u0000\u0000\u09a0\u09a2\u0007$\u0000"+
56028 "\u0000\u09a1\u099d\u0001\u0000\u0000\u0000\u09a1\u099e\u0001\u0000\u0000"+
56029 "\u0000\u09a2\u09a6\u0001\u0000\u0000\u0000\u09a3\u09a4\u0005\u02cd\u0000"+
56030 "\u0000\u09a4\u09a5\u0005\u0018\u0000\u0000\u09a5\u09a7\u0007\u0000\u0000"+
56031 "\u0000\u09a6\u09a3\u0001\u0000\u0000\u0000\u09a6\u09a7\u0001\u0000\u0000"+
56032 "\u0000\u09a7\u09b8\u0001\u0000\u0000\u0000\u09a8\u09b5\u0005\u02ca\u0000"+
56033 "\u0000\u09a9\u09aa\u0005a\u0000\u0000\u09aa\u09ab\u0005\u00f7\u0000\u0000"+
56034 "\u09ab\u09ac\u0005\u001f\u0000\u0000\u09ac\u09b1\u0005\u02d5\u0000\u0000"+
56035 "\u09ad\u09ae\u0005%\u0000\u0000\u09ae\u09b0\u0005\u02d5\u0000\u0000\u09af"+
56036 "\u09ad\u0001\u0000\u0000\u0000\u09b0\u09b3\u0001\u0000\u0000\u0000\u09b1"+
56037 "\u09af\u0001\u0000\u0000\u0000\u09b1\u09b2\u0001\u0000\u0000\u0000\u09b2"+
56038 "\u09b4\u0001\u0000\u0000\u0000\u09b3\u09b1\u0001\u0000\u0000\u0000\u09b4"+
56039 "\u09b6\u0005 \u0000\u0000\u09b5\u09a9\u0001\u0000\u0000\u0000\u09b5\u09b6"+
56040 "\u0001\u0000\u0000\u0000\u09b6\u09b8\u0001\u0000\u0000\u0000\u09b7\u09a1"+
56041 "\u0001\u0000\u0000\u0000\u09b7\u09a8\u0001\u0000\u0000\u0000\u09b8\u0149"+
56042 "\u0001\u0000\u0000\u0000\u09b9\u09bb\u0005%\u0000\u0000\u09ba\u09b9\u0001"+
56043 "\u0000\u0000\u0000\u09ba\u09bb\u0001\u0000\u0000\u0000\u09bb\u09bc\u0001"+
56044 "\u0000\u0000\u0000\u09bc\u09be\u0003\u014c\u00a6\u0000\u09bd\u09ba\u0001"+
56045 "\u0000\u0000\u0000\u09be\u09bf\u0001\u0000\u0000\u0000\u09bf\u09bd\u0001"+
56046 "\u0000\u0000\u0000\u09bf\u09c0\u0001\u0000\u0000\u0000\u09c0\u014b\u0001"+
56047 "\u0000\u0000\u0000\u09c1\u09cf\u0005r\u0000\u0000\u09c2\u09cf\u0005=\u0000"+
56048 "\u0000\u09c3\u09cf\u0005>\u0000\u0000\u09c4\u09cf\u0005\u02cb\u0000\u0000"+
56049 "\u09c5\u09c6\u0005\u0276\u0000\u0000\u09c6\u09c7\u0005\u0018\u0000\u0000"+
56050 "\u09c7\u09cf\u0007\u0000\u0000\u0000\u09c8\u09c9\u0005\u012c\u0000\u0000"+
56051 "\u09c9\u09ca\u0005\u0018\u0000\u0000\u09ca\u09cf\u0005\u02d5\u0000\u0000"+
56052 "\u09cb\u09cc\u0005\u02cc\u0000\u0000\u09cc\u09cd\u0005\u0018\u0000\u0000"+
56053 "\u09cd\u09cf\u0007\u0000\u0000\u0000\u09ce\u09c1\u0001\u0000\u0000\u0000"+
56054 "\u09ce\u09c2\u0001\u0000\u0000\u0000\u09ce\u09c3\u0001\u0000\u0000\u0000"+
56055 "\u09ce\u09c4\u0001\u0000\u0000\u0000\u09ce\u09c5\u0001\u0000\u0000\u0000"+
56056 "\u09ce\u09c8\u0001\u0000\u0000\u0000\u09ce\u09cb\u0001\u0000\u0000\u0000"+
56057 "\u09cf\u014d\u0001\u0000\u0000\u0000\u09d0\u09d1\u0005`\u0000\u0000\u09d1"+
56058 "\u09d3\u0005\u0120\u0000\u0000\u09d2\u09d0\u0001\u0000\u0000\u0000\u09d2"+
56059 "\u09d3\u0001\u0000\u0000\u0000\u09d3\u014f\u0001\u0000\u0000\u0000\u09d4"+
56060 "\u09d5\u0003\u0152\u00a9\u0000\u09d5\u09d6\u0003\u01a6\u00d3\u0000\u09d6"+
56061 "\u09d7\u0003\u01a8\u00d4\u0000\u09d7\u0151\u0001\u0000\u0000\u0000\u09d8"+
56062 "\u09d9\u0005\u001f\u0000\u0000\u09d9\u09de\u0003\u0154\u00aa\u0000\u09da"+
56063 "\u09db\u0005%\u0000\u0000\u09db\u09dd\u0003\u0154\u00aa\u0000\u09dc\u09da"+
56064 "\u0001\u0000\u0000\u0000\u09dd\u09e0\u0001\u0000\u0000\u0000\u09de\u09dc"+
56065 "\u0001\u0000\u0000\u0000\u09de\u09df\u0001\u0000\u0000\u0000\u09df\u09e3"+
56066 "\u0001\u0000\u0000\u0000\u09e0\u09de\u0001\u0000\u0000\u0000\u09e1\u09e2"+
56067 "\u0005%\u0000\u0000\u09e2\u09e4\u0003\u01a4\u00d2\u0000\u09e3\u09e1\u0001"+
56068 "\u0000\u0000\u0000\u09e3\u09e4\u0001\u0000\u0000\u0000\u09e4\u09e5\u0001"+
56069 "\u0000\u0000\u0000\u09e5\u09e6\u0005 \u0000\u0000\u09e6\u0153\u0001\u0000"+
56070 "\u0000\u0000\u09e7\u09ed\u0003\u0156\u00ab\u0000\u09e8\u09ed\u0003\u018c"+
56071 "\u00c6\u0000\u09e9\u09ed\u0003\u018e\u00c7\u0000\u09ea\u09ed\u0003\u0190"+
56072 "\u00c8\u0000\u09eb\u09ed\u0003\u019e\u00cf\u0000\u09ec\u09e7\u0001\u0000"+
56073 "\u0000\u0000\u09ec\u09e8\u0001\u0000\u0000\u0000\u09ec\u09e9\u0001\u0000"+
56074 "\u0000\u0000\u09ec\u09ea\u0001\u0000\u0000\u0000\u09ec\u09eb\u0001\u0000"+
56075 "\u0000\u0000\u09ed\u0155\u0001\u0000\u0000\u0000\u09ee\u09ef\u0003H$\u0000"+
56076 "\u09ef\u09f3\u0003\u00aeW\u0000\u09f0\u09f2\u0003\u0158\u00ac\u0000\u09f1"+
56077 "\u09f0\u0001\u0000\u0000\u0000\u09f2\u09f5\u0001\u0000\u0000\u0000\u09f3"+
56078 "\u09f1\u0001\u0000\u0000\u0000\u09f3\u09f4\u0001\u0000\u0000\u0000\u09f4"+
56079 "\u09f6\u0001\u0000\u0000\u0000\u09f5\u09f3\u0001\u0000\u0000\u0000\u09f6"+
56080 "\u09f8\u0003\u018a\u00c5\u0000\u09f7\u09f9\u0003\u0180\u00c0\u0000\u09f8"+
56081 "\u09f7\u0001\u0000\u0000\u0000\u09f8\u09f9\u0001\u0000\u0000\u0000\u09f9"+
56082 "\u0157\u0001\u0000\u0000\u0000\u09fa\u0a30\u0005\u011f\u0000\u0000\u09fb"+
56083 "\u09fc\u0005\u010f\u0000\u0000\u09fc\u0a30\u0003Z-\u0000\u09fd\u0a30\u0005"+
56084 "\u0141\u0000\u0000\u09fe\u09ff\u0005\u012b\u0000\u0000\u09ff\u0a00\u0005"+
56085 "M\u0000\u0000\u0a00\u0a01\u0005\u001f\u0000\u0000\u0a01\u0a02\u0005F\u0000"+
56086 "\u0000\u0a02\u0a03\u0005\u0018\u0000\u0000\u0a03\u0a04\u0005\u02d4\u0000"+
56087 "\u0000\u0a04\u0a30\u0005 \u0000\u0000\u0a05\u0a06\u0005?\u0000\u0000\u0a06"+
56088 "\u0a08\u0003\u00e6s\u0000\u0a07\u0a05\u0001\u0000\u0000\u0000\u0a07\u0a08"+
56089 "\u0001\u0000\u0000\u0000\u0a08\u0a09\u0001\u0000\u0000\u0000\u0a09\u0a0a"+
56090 "\u0005\u009a\u0000\u0000\u0a0a\u0a30\u0003b1\u0000\u0a0b\u0a11\u0005\u0125"+
56091 "\u0000\u0000\u0a0c\u0a0d\u0005\u001f\u0000\u0000\u0a0d\u0a0e\u0005\u02d5"+
56092 "\u0000\u0000\u0a0e\u0a0f\u0005%\u0000\u0000\u0a0f\u0a10\u0005\u02d5\u0000"+
56093 "\u0000\u0a10\u0a12\u0005 \u0000\u0000\u0a11\u0a0c\u0001\u0000\u0000\u0000"+
56094 "\u0a11\u0a12\u0001\u0000\u0000\u0000\u0a12\u0a30\u0001\u0000\u0000\u0000"+
56095 "\u0a13\u0a14\u0005k\u0000\u0000\u0a14\u0a15\u0005f\u0000\u0000\u0a15\u0a30"+
56096 "\u0005\u013c\u0000\u0000\u0a16\u0a17\u0005\u0100\u0000\u0000\u0a17\u0a18"+
56097 "\u0005\u00fd\u0000\u0000\u0a18\u0a19\u0005`\u0000\u0000\u0a19\u0a1a\u0005"+
56098 "\u00f9\u0000\u0000\u0a1a\u0a1c\u0007%\u0000\u0000\u0a1b\u0a1d\u0005\u00f4"+
56099 "\u0000\u0000\u0a1c\u0a1b\u0001\u0000\u0000\u0000\u0a1c\u0a1d\u0001\u0000"+
56100 "\u0000\u0000\u0a1d\u0a30\u0001\u0000\u0000\u0000\u0a1e\u0a20\u0005k\u0000"+
56101 "\u0000\u0a1f\u0a1e\u0001\u0000\u0000\u0000\u0a1f\u0a20\u0001\u0000\u0000"+
56102 "\u0000\u0a20\u0a21\u0001\u0000\u0000\u0000\u0a21\u0a30\u0005l\u0000\u0000"+
56103 "\u0a22\u0a30\u0005\u013e\u0000\u0000\u0a23\u0a24\u0005\u011d\u0000\u0000"+
56104 "\u0a24\u0a25\u0005M\u0000\u0000\u0a25\u0a30\u0003\u015a\u00ad\u0000\u0a26"+
56105 "\u0a2b\u0003\u015c\u00ae\u0000\u0a27\u0a28\u0005%\u0000\u0000\u0a28\u0a2a"+
56106 "\u0003\u015c\u00ae\u0000\u0a29\u0a27\u0001\u0000\u0000\u0000\u0a2a\u0a2d"+
56107 "\u0001\u0000\u0000\u0000\u0a2b\u0a29\u0001\u0000\u0000\u0000\u0a2b\u0a2c"+
56108 "\u0001\u0000\u0000\u0000\u0a2c\u0a30\u0001\u0000\u0000\u0000\u0a2d\u0a2b"+
56109 "\u0001\u0000\u0000\u0000\u0a2e\u0a30\u0003\u0180\u00c0\u0000\u0a2f\u09fa"+
56110 "\u0001\u0000\u0000\u0000\u0a2f\u09fb\u0001\u0000\u0000\u0000\u0a2f\u09fd"+
56111 "\u0001\u0000\u0000\u0000\u0a2f\u09fe\u0001\u0000\u0000\u0000\u0a2f\u0a07"+
56112 "\u0001\u0000\u0000\u0000\u0a2f\u0a0b\u0001\u0000\u0000\u0000\u0a2f\u0a13"+
56113 "\u0001\u0000\u0000\u0000\u0a2f\u0a16\u0001\u0000\u0000\u0000\u0a2f\u0a1f"+
56114 "\u0001\u0000\u0000\u0000\u0a2f\u0a22\u0001\u0000\u0000\u0000\u0a2f\u0a23"+
56115 "\u0001\u0000\u0000\u0000\u0a2f\u0a26\u0001\u0000\u0000\u0000\u0a2f\u0a2e"+
56116 "\u0001\u0000\u0000\u0000\u0a30\u0159\u0001\u0000\u0000\u0000\u0a31\u0a32"+
56117 "\u0005\u001f\u0000\u0000\u0a32\u0a33\u0005\u019b\u0000\u0000\u0a33\u0a34"+
56118 "\u0005\u0018\u0000\u0000\u0a34\u0a35\u0003\u00e6s\u0000\u0a35\u0a36\u0005"+
56119 "%\u0000\u0000\u0a36\u0a37\u0005\u01a1\u0000\u0000\u0a37\u0a38\u0005\u0018"+
56120 "\u0000\u0000\u0a38\u0a39\u0007&\u0000\u0000\u0a39\u0a3a\u0005%\u0000\u0000"+
56121 "\u0a3a\u0a3b\u0005\u010a\u0000\u0000\u0a3b\u0a3c\u0005\u0018\u0000\u0000"+
56122 "\u0a3c\u0a3d\u0005\u02d4\u0000\u0000\u0a3d\u0a3e\u0005 \u0000\u0000\u0a3e"+
56123 "\u015b\u0001\u0000\u0000\u0000\u0a3f\u0a40\u0005?\u0000\u0000\u0a40\u0a42"+
56124 "\u0003X,\u0000\u0a41\u0a3f\u0001\u0000\u0000\u0000\u0a41\u0a42\u0001\u0000"+
56125 "\u0000\u0000\u0a42\u0a46\u0001\u0000\u0000\u0000\u0a43\u0a47\u0003\u0164"+
56126 "\u00b2\u0000\u0a44\u0a47\u0003\u0178\u00bc\u0000\u0a45\u0a47\u0003\u017e"+
56127 "\u00bf\u0000\u0a46\u0a43\u0001\u0000\u0000\u0000\u0a46\u0a44\u0001\u0000"+
56128 "\u0000\u0000\u0a46\u0a45\u0001\u0000\u0000\u0000\u0a47\u015d\u0001\u0000"+
56129 "\u0000\u0000\u0a48\u0a49\u0005?\u0000\u0000\u0a49\u0a4b\u0003X,\u0000"+
56130 "\u0a4a\u0a48\u0001\u0000\u0000\u0000\u0a4a\u0a4b\u0001\u0000\u0000\u0000"+
56131 "\u0a4b\u0a4f\u0001\u0000\u0000\u0000\u0a4c\u0a50\u0003\u0164\u00b2\u0000"+
56132 "\u0a4d\u0a50\u0003\u0160\u00b0\u0000\u0a4e\u0a50\u0003\u017e\u00bf\u0000"+
56133 "\u0a4f\u0a4c\u0001\u0000\u0000\u0000\u0a4f\u0a4d\u0001\u0000\u0000\u0000"+
56134 "\u0a4f\u0a4e\u0001\u0000\u0000\u0000\u0a50\u015f\u0001\u0000\u0000\u0000"+
56135 "\u0a51\u0a52\u0005B\u0000\u0000\u0a52\u0a54\u0005C\u0000\u0000\u0a53\u0a51"+
56136 "\u0001\u0000\u0000\u0000\u0a53\u0a54\u0001\u0000\u0000\u0000\u0a54\u0a55"+
56137 "\u0001\u0000\u0000\u0000\u0a55\u0a5a\u0003@ \u0000\u0a56\u0a57\u0005\u001f"+
56138 "\u0000\u0000\u0a57\u0a58\u0003H$\u0000\u0a58\u0a59\u0005 \u0000\u0000"+
56139 "\u0a59\u0a5b\u0001\u0000\u0000\u0000\u0a5a\u0a56\u0001\u0000\u0000\u0000"+
56140 "\u0a5a\u0a5b\u0001\u0000\u0000\u0000\u0a5b\u0a5f\u0001\u0000\u0000\u0000"+
56141 "\u0a5c\u0a5e\u0003\u0162\u00b1\u0000\u0a5d\u0a5c\u0001\u0000\u0000\u0000"+
56142 "\u0a5e\u0a61\u0001\u0000\u0000\u0000\u0a5f\u0a5d\u0001\u0000\u0000\u0000"+
56143 "\u0a5f\u0a60\u0001\u0000\u0000\u0000\u0a60\u0161\u0001\u0000\u0000\u0000"+
56144 "\u0a61\u0a5f\u0001\u0000\u0000\u0000\u0a62\u0a63\u0005a\u0000\u0000\u0a63"+
56145 "\u0a67\u00051\u0000\u0000\u0a64\u0a65\u0005\u0101\u0000\u0000\u0a65\u0a68"+
56146 "\u0005\u0109\u0000\u0000\u0a66\u0a68\u0005\u00fe\u0000\u0000\u0a67\u0a64"+
56147 "\u0001\u0000\u0000\u0000\u0a67\u0a66\u0001\u0000\u0000\u0000\u0a68\u0a71"+
56148 "\u0001\u0000\u0000\u0000\u0a69\u0a6a\u0005a\u0000\u0000\u0a6a\u0a6b\u0005"+
56149 "0\u0000\u0000\u0a6b\u0a6c\u0005\u0101\u0000\u0000\u0a6c\u0a71\u0005\u0109"+
56150 "\u0000\u0000\u0a6d\u0a6e\u0005k\u0000\u0000\u0a6e\u0a6f\u0005f\u0000\u0000"+
56151 "\u0a6f\u0a71\u0005\u013c\u0000\u0000\u0a70\u0a62\u0001\u0000\u0000\u0000"+
56152 "\u0a70\u0a69\u0001\u0000\u0000\u0000\u0a70\u0a6d\u0001\u0000\u0000\u0000"+
56153 "\u0a71\u0163\u0001\u0000\u0000\u0000\u0a72\u0a75\u0003`0\u0000\u0a73\u0a75"+
56154 "\u0005A\u0000\u0000\u0a74\u0a72\u0001\u0000\u0000\u0000\u0a74\u0a73\u0001"+
56155 "\u0000\u0000\u0000\u0a75\u0a78\u0001\u0000\u0000\u0000\u0a76\u0a79\u0003"+
56156 "\u0166\u00b3\u0000\u0a77\u0a79\u0003\u0174\u00ba\u0000\u0a78\u0a76\u0001"+
56157 "\u0000\u0000\u0000\u0a78\u0a77\u0001\u0000\u0000\u0000\u0a79\u0165\u0001"+
56158 "\u0000\u0000\u0000\u0a7a\u0a7c\u0003\u0168\u00b4\u0000\u0a7b\u0a7a\u0001"+
56159 "\u0000\u0000\u0000\u0a7b\u0a7c\u0001\u0000\u0000\u0000\u0a7c\u0a7e\u0001"+
56160 "\u0000\u0000\u0000\u0a7d\u0a7f\u0003\u016a\u00b5\u0000\u0a7e\u0a7d\u0001"+
56161 "\u0000\u0000\u0000\u0a7e\u0a7f\u0001\u0000\u0000\u0000\u0a7f\u0a81\u0001"+
56162 "\u0000\u0000\u0000\u0a80\u0a82\u0003\u016c\u00b6\u0000\u0a81\u0a80\u0001"+
56163 "\u0000\u0000\u0000\u0a81\u0a82\u0001\u0000\u0000\u0000\u0a82\u0167\u0001"+
56164 "\u0000\u0000\u0000\u0a83\u0a84\u0007\'\u0000\u0000\u0a84\u0169\u0001\u0000"+
56165 "\u0000\u0000\u0a85\u0a94\u0005M\u0000\u0000\u0a86\u0a87\u0005\u0121\u0000"+
56166 "\u0000\u0a87\u0a88\u0005\u0018\u0000\u0000\u0a88\u0a95\u0005\u02d5\u0000"+
56167 "\u0000\u0a89\u0a8a\u0005\u001f\u0000\u0000\u0a8a\u0a8f\u0003\u00ceg\u0000"+
56168 "\u0a8b\u0a8c\u0005%\u0000\u0000\u0a8c\u0a8e\u0003\u00ceg\u0000\u0a8d\u0a8b"+
56169 "\u0001\u0000\u0000\u0000\u0a8e\u0a91\u0001\u0000\u0000\u0000\u0a8f\u0a8d"+
56170 "\u0001\u0000\u0000\u0000\u0a8f\u0a90\u0001\u0000\u0000\u0000\u0a90\u0a92"+
56171 "\u0001\u0000\u0000\u0000\u0a91\u0a8f\u0001\u0000\u0000\u0000\u0a92\u0a93"+
56172 "\u0005 \u0000\u0000\u0a93\u0a95\u0001\u0000\u0000\u0000\u0a94\u0a86\u0001"+
56173 "\u0000\u0000\u0000\u0a94\u0a89\u0001\u0000\u0000\u0000\u0a95\u016b\u0001"+
56174 "\u0000\u0000\u0000\u0a96\u0a9a\u0003\u016e\u00b7\u0000\u0a97\u0a9a\u0003"+
56175 "\u0170\u00b8\u0000\u0a98\u0a9a\u0003\u0172\u00b9\u0000\u0a99\u0a96\u0001"+
56176 "\u0000\u0000\u0000\u0a99\u0a97\u0001\u0000\u0000\u0000\u0a99\u0a98\u0001"+
56177 "\u0000\u0000\u0000\u0a9a\u016d\u0001\u0000\u0000\u0000\u0a9b\u0a9c\u0005"+
56178 "a\u0000\u0000\u0a9c\u0a9d\u00034\u001a\u0000\u0a9d\u0a9e\u0005\u001f\u0000"+
56179 "\u0000\u0a9e\u0a9f\u0003H$\u0000\u0a9f\u0aa0\u0005 \u0000\u0000\u0aa0"+
56180 "\u016f\u0001\u0000\u0000\u0000\u0aa1\u0aa2\u0005a\u0000\u0000\u0aa2\u0aa3"+
56181 "\u0003\u00e6s\u0000\u0aa3\u0171\u0001\u0000\u0000\u0000\u0aa4\u0aa5\u0005"+
56182 "a\u0000\u0000\u0aa5\u0aa6\u0005\u02d4\u0000\u0000\u0aa6\u0173\u0001\u0000"+
56183 "\u0000\u0000\u0aa7\u0aae\u0005\u010e\u0000\u0000\u0aa8\u0aa9\u0005\u010e"+
56184 "\u0000\u0000\u0aa9\u0aab\u0005\u0123\u0000\u0000\u0aaa\u0aac\u0003\u0176"+
56185 "\u00bb\u0000\u0aab\u0aaa\u0001\u0000\u0000\u0000\u0aab\u0aac\u0001\u0000"+
56186 "\u0000\u0000\u0aac\u0aae\u0001\u0000\u0000\u0000\u0aad\u0aa7\u0001\u0000"+
56187 "\u0000\u0000\u0aad\u0aa8\u0001\u0000\u0000\u0000\u0aae\u0175\u0001\u0000"+
56188 "\u0000\u0000\u0aaf\u0ab0\u0005M\u0000\u0000\u0ab0\u0ab1\u0005\u001f\u0000"+
56189 "\u0000\u0ab1\u0ab2\u0005\u0199\u0000\u0000\u0ab2\u0ab3\u0005\u0018\u0000"+
56190 "\u0000\u0ab3\u0ab4\u0005\u02d5\u0000\u0000\u0ab4\u0ab5\u0005 \u0000\u0000"+
56191 "\u0ab5\u0177\u0001\u0000\u0000\u0000\u0ab6\u0ab7\u0005B\u0000\u0000\u0ab7"+
56192 "\u0ab9\u0005C\u0000\u0000\u0ab8\u0ab6\u0001\u0000\u0000\u0000\u0ab8\u0ab9"+
56193 "\u0001\u0000\u0000\u0000\u0ab9\u0aba\u0001\u0000\u0000\u0000\u0aba\u0abb"+
56194 "\u0005\u0104\u0000\u0000\u0abb\u0ac0\u0003@ \u0000\u0abc\u0abd\u0005\u001f"+
56195 "\u0000\u0000\u0abd\u0abe\u0003H$\u0000\u0abe\u0abf\u0005 \u0000\u0000"+
56196 "\u0abf\u0ac1\u0001\u0000\u0000\u0000\u0ac0\u0abc\u0001\u0000\u0000\u0000"+
56197 "\u0ac0\u0ac1\u0001\u0000\u0000\u0000\u0ac1\u0ac5\u0001\u0000\u0000\u0000"+
56198 "\u0ac2\u0ac4\u0003\u017a\u00bd\u0000\u0ac3\u0ac2\u0001\u0000\u0000\u0000"+
56199 "\u0ac4\u0ac7\u0001\u0000\u0000\u0000\u0ac5\u0ac3\u0001\u0000\u0000\u0000"+
56200 "\u0ac5\u0ac6\u0001\u0000\u0000\u0000\u0ac6\u0179\u0001\u0000\u0000\u0000"+
56201 "\u0ac7\u0ac5\u0001\u0000\u0000\u0000\u0ac8\u0ac9\u0005a\u0000\u0000\u0ac9"+
56202 "\u0aca\u0007(\u0000\u0000\u0aca\u0acf\u0003\u017c\u00be\u0000\u0acb\u0acc"+
56203 "\u0005k\u0000\u0000\u0acc\u0acd\u0005f\u0000\u0000\u0acd\u0acf\u0005\u013c"+
56204 "\u0000\u0000\u0ace\u0ac8\u0001\u0000\u0000\u0000\u0ace\u0acb\u0001\u0000"+
56205 "\u0000\u0000\u0acf\u017b\u0001\u0000\u0000\u0000\u0ad0\u0ad1\u0005\u0101"+
56206 "\u0000\u0000\u0ad1\u0ad6\u0005\u0109\u0000\u0000\u0ad2\u0ad6\u0005\u00fe"+
56207 "\u0000\u0000\u0ad3\u0ad4\u0005:\u0000\u0000\u0ad4\u0ad6\u0007)\u0000\u0000"+
56208 "\u0ad5\u0ad0\u0001\u0000\u0000\u0000\u0ad5\u0ad2\u0001\u0000\u0000\u0000"+
56209 "\u0ad5\u0ad3\u0001\u0000\u0000\u0000\u0ad6\u017d\u0001\u0000\u0000\u0000"+
56210 "\u0ad7\u0adb\u0005\u00ff\u0000\u0000\u0ad8\u0ad9\u0005k\u0000\u0000\u0ad9"+
56211 "\u0ada\u0005f\u0000\u0000\u0ada\u0adc\u0005\u013c\u0000\u0000\u0adb\u0ad8"+
56212 "\u0001\u0000\u0000\u0000\u0adb\u0adc\u0001\u0000\u0000\u0000\u0adc\u0add"+
56213 "\u0001\u0000\u0000\u0000\u0add\u0ade\u0005\u001f\u0000\u0000\u0ade\u0adf"+
56214 "\u0003b1\u0000\u0adf\u0ae0\u0005 \u0000\u0000\u0ae0\u017f\u0001\u0000"+
56215 "\u0000\u0000\u0ae1\u0ae2\u0005>\u0000\u0000\u0ae2\u0ae4\u0003V+\u0000"+
56216 "\u0ae3\u0ae5\u0003\u0168\u00b4\u0000\u0ae4\u0ae3\u0001\u0000\u0000\u0000"+
56217 "\u0ae4\u0ae5\u0001\u0000\u0000\u0000\u0ae5\u0ae7\u0001\u0000\u0000\u0000"+
56218 "\u0ae6\u0ae8\u0003\u0182\u00c1\u0000\u0ae7\u0ae6\u0001\u0000\u0000\u0000"+
56219 "\u0ae7\u0ae8\u0001\u0000\u0000\u0000\u0ae8\u0aea\u0001\u0000\u0000\u0000"+
56220 "\u0ae9\u0aeb\u0003\u0184\u00c2\u0000\u0aea\u0ae9\u0001\u0000\u0000\u0000"+
56221 "\u0aea\u0aeb\u0001\u0000\u0000\u0000\u0aeb\u0aed\u0001\u0000\u0000\u0000"+
56222 "\u0aec\u0aee\u0003\u0188\u00c4\u0000\u0aed\u0aec\u0001\u0000\u0000\u0000"+
56223 "\u0aed\u0aee\u0001\u0000\u0000\u0000\u0aee\u0181\u0001\u0000\u0000\u0000"+
56224 "\u0aef\u0af0\u0005M\u0000\u0000\u0af0\u0af1\u0005\u001f\u0000\u0000\u0af1"+
56225 "\u0af6\u0003\u00ceg\u0000\u0af2\u0af3\u0005%\u0000\u0000\u0af3\u0af5\u0003"+
56226 "\u00ceg\u0000\u0af4\u0af2\u0001\u0000\u0000\u0000\u0af5\u0af8\u0001\u0000"+
56227 "\u0000\u0000\u0af6\u0af4\u0001\u0000\u0000\u0000\u0af6\u0af7\u0001\u0000"+
56228 "\u0000\u0000\u0af7\u0af9\u0001\u0000\u0000\u0000\u0af8\u0af6\u0001\u0000"+
56229 "\u0000\u0000\u0af9\u0afa\u0005 \u0000\u0000\u0afa\u0183\u0001\u0000\u0000"+
56230 "\u0000\u0afb\u0aff\u0003\u016e\u00b7\u0000\u0afc\u0aff\u0003\u0170\u00b8"+
56231 "\u0000\u0afd\u0aff\u0003\u0186\u00c3\u0000\u0afe\u0afb\u0001\u0000\u0000"+
56232 "\u0000\u0afe\u0afc\u0001\u0000\u0000\u0000\u0afe\u0afd\u0001\u0000\u0000"+
56233 "\u0000\u0aff\u0185\u0001\u0000\u0000\u0000\u0b00\u0b01\u0005a\u0000\u0000"+
56234 "\u0b01\u0b02\u0005\u009a\u0000\u0000\u0b02\u0187\u0001\u0000\u0000\u0000"+
56235 "\u0b03\u0b07\u0005\u01b3\u0000\u0000\u0b04\u0b08\u0003\u00e6s\u0000\u0b05"+
56236 "\u0b08\u00034\u001a\u0000\u0b06\u0b08\u0005\u02d4\u0000\u0000\u0b07\u0b04"+
56237 "\u0001\u0000\u0000\u0000\u0b07\u0b05\u0001\u0000\u0000\u0000\u0b07\u0b06"+
56238 "\u0001\u0000\u0000\u0000\u0b08\u0189\u0001\u0000\u0000\u0000\u0b09\u0b0e"+
56239 "\u0003\u015c\u00ae\u0000\u0b0a\u0b0b\u0005%\u0000\u0000\u0b0b\u0b0d\u0003"+
56240 "\u015c\u00ae\u0000\u0b0c\u0b0a\u0001\u0000\u0000\u0000\u0b0d\u0b10\u0001"+
56241 "\u0000\u0000\u0000\u0b0e\u0b0c\u0001\u0000\u0000\u0000\u0b0e\u0b0f\u0001"+
56242 "\u0000\u0000\u0000\u0b0f\u0b12\u0001\u0000\u0000\u0000\u0b10\u0b0e\u0001"+
56243 "\u0000\u0000\u0000\u0b11\u0b09\u0001\u0000\u0000\u0000\u0b11\u0b12\u0001"+
56244 "\u0000\u0000\u0000\u0b12\u018b\u0001\u0000\u0000\u0000\u0b13\u0b14\u0003"+
56245 "H$\u0000\u0b14\u0b15\u0005`\u0000\u0000\u0b15\u0b1b\u0003b1\u0000\u0b16"+
56246 "\u0b19\u0005\u0136\u0000\u0000\u0b17\u0b18\u0005k\u0000\u0000\u0b18\u0b1a"+
56247 "\u0005l\u0000\u0000\u0b19\u0b17\u0001\u0000\u0000\u0000\u0b19\u0b1a\u0001"+
56248 "\u0000\u0000\u0000\u0b1a\u0b1c\u0001\u0000\u0000\u0000\u0b1b\u0b16\u0001"+
56249 "\u0000\u0000\u0000\u0b1b\u0b1c\u0001\u0000\u0000\u0000\u0b1c\u0b1e\u0001"+
56250 "\u0000\u0000\u0000\u0b1d\u0b1f\u0003\u015e\u00af\u0000\u0b1e\u0b1d\u0001"+
56251 "\u0000\u0000\u0000\u0b1e\u0b1f\u0001\u0000\u0000\u0000\u0b1f\u018d\u0001"+
56252 "\u0000\u0000\u0000\u0b20\u0b21\u0003\u00e6s\u0000\u0b21\u0b22\u0005\u02d2"+
56253 "\u0000\u0000\u0b22\u0b23\u0005\u019c\u0000\u0000\u0b23\u0b24\u0005f\u0000"+
56254 "\u0000\u0b24\u0b25\u0005\u0198\u0000\u0000\u0b25\u018f\u0001\u0000\u0000"+
56255 "\u0000\u0b26\u0b27\u0005?\u0000\u0000\u0b27\u0b29\u0003X,\u0000\u0b28"+
56256 "\u0b26\u0001\u0000\u0000\u0000\u0b28\u0b29\u0001\u0000\u0000\u0000\u0b29"+
56257 "\u0b2d\u0001\u0000\u0000\u0000\u0b2a\u0b2e\u0003\u0192\u00c9\u0000\u0b2b"+
56258 "\u0b2e\u0003\u019c\u00ce\u0000\u0b2c\u0b2e\u0003\u017e\u00bf\u0000\u0b2d"+
56259 "\u0b2a\u0001\u0000\u0000\u0000\u0b2d\u0b2b\u0001\u0000\u0000\u0000\u0b2d"+
56260 "\u0b2c\u0001\u0000\u0000\u0000\u0b2e\u0191\u0001\u0000\u0000\u0000\u0b2f"+
56261 "\u0b32\u0003\u0194\u00ca\u0000\u0b30\u0b33\u0003\u0196\u00cb\u0000\u0b31"+
56262 "\u0b33\u0003\u0198\u00cc\u0000\u0b32\u0b30\u0001\u0000\u0000\u0000\u0b32"+
56263 "\u0b31\u0001\u0000\u0000\u0000\u0b33\u0193\u0001\u0000\u0000\u0000\u0b34"+
56264 "\u0b37\u0003`0\u0000\u0b35\u0b37\u0005A\u0000\u0000\u0b36\u0b34\u0001"+
56265 "\u0000\u0000\u0000\u0b36\u0b35\u0001\u0000\u0000\u0000\u0b37\u0195\u0001"+
56266 "\u0000\u0000\u0000\u0b38\u0b3a\u0003\u0168\u00b4\u0000\u0b39\u0b38\u0001"+
56267 "\u0000\u0000\u0000\u0b39\u0b3a\u0001\u0000\u0000\u0000\u0b3a\u0b3b\u0001"+
56268 "\u0000\u0000\u0000\u0b3b\u0b3d\u0003P(\u0000\u0b3c\u0b3e\u0003\u016a\u00b5"+
56269 "\u0000\u0b3d\u0b3c\u0001\u0000\u0000\u0000\u0b3d\u0b3e\u0001\u0000\u0000"+
56270 "\u0000\u0b3e\u0b40\u0001\u0000\u0000\u0000\u0b3f\u0b41\u0003\u016c\u00b6"+
56271 "\u0000\u0b40\u0b3f\u0001\u0000\u0000\u0000\u0b40\u0b41\u0001\u0000\u0000"+
56272 "\u0000\u0b41\u0197\u0001\u0000\u0000\u0000\u0b42\u0b45\u0005\u010e\u0000"+
56273 "\u0000\u0b43\u0b46\u0003P(\u0000\u0b44\u0b46\u0003\u019a\u00cd\u0000\u0b45"+
56274 "\u0b43\u0001\u0000\u0000\u0000\u0b45\u0b44\u0001\u0000\u0000\u0000\u0b46"+
56275 "\u0199\u0001\u0000\u0000\u0000\u0b47\u0b48\u0005\u0123\u0000\u0000\u0b48"+
56276 "\u0b49\u0003P(\u0000\u0b49\u0b4a\u0003\u0176\u00bb\u0000\u0b4a\u019b\u0001"+
56277 "\u0000\u0000\u0000\u0b4b\u0b4c\u0005B\u0000\u0000\u0b4c\u0b4e\u0005C\u0000"+
56278 "\u0000\u0b4d\u0b4b\u0001\u0000\u0000\u0000\u0b4d\u0b4e\u0001\u0000\u0000"+
56279 "\u0000\u0b4e\u0b4f\u0001\u0000\u0000\u0000\u0b4f\u0b50\u0003P(\u0000\u0b50"+
56280 "\u0b51\u0005\u0104\u0000\u0000\u0b51\u0b52\u0003@ \u0000\u0b52\u0b56\u0003"+
56281 "P(\u0000\u0b53\u0b55\u0003\u017a\u00bd\u0000\u0b54\u0b53\u0001\u0000\u0000"+
56282 "\u0000\u0b55\u0b58\u0001\u0000\u0000\u0000\u0b56\u0b54\u0001\u0000\u0000"+
56283 "\u0000\u0b56\u0b57\u0001\u0000\u0000\u0000\u0b57\u019d\u0001\u0000\u0000"+
56284 "\u0000\u0b58\u0b56\u0001\u0000\u0000\u0000\u0b59\u0b5a\u0005>\u0000\u0000"+
56285 "\u0b5a\u0b5b\u0003V+\u0000\u0b5b\u0b5e\u0003\u01a0\u00d0\u0000\u0b5c\u0b5d"+
56286 "\u0005M\u0000\u0000\u0b5d\u0b5f\u0003\u01a2\u00d1\u0000\u0b5e\u0b5c\u0001"+
56287 "\u0000\u0000\u0000\u0b5e\u0b5f\u0001\u0000\u0000\u0000\u0b5f\u0b61\u0001"+
56288 "\u0000\u0000\u0000\u0b60\u0b62\u0003\u0184\u00c2\u0000\u0b61\u0b60\u0001"+
56289 "\u0000\u0000\u0000\u0b61\u0b62\u0001\u0000\u0000\u0000\u0b62\u0b64\u0001"+
56290 "\u0000\u0000\u0000\u0b63\u0b65\u0003\u0188\u00c4\u0000\u0b64\u0b63\u0001"+
56291 "\u0000\u0000\u0000\u0b64\u0b65\u0001\u0000\u0000\u0000\u0b65\u019f\u0001"+
56292 "\u0000\u0000\u0000\u0b66\u0b68\u0003\u0168\u00b4\u0000\u0b67\u0b66\u0001"+
56293 "\u0000\u0000\u0000\u0b67\u0b68\u0001\u0000\u0000\u0000\u0b68\u0b69\u0001"+
56294 "\u0000\u0000\u0000\u0b69\u0b72\u0003P(\u0000\u0b6a\u0b6b\u0005\u010d\u0000"+
56295 "\u0000\u0b6b\u0b72\u0005\u0110\u0000\u0000\u0b6c\u0b6e\u0005\u010e\u0000"+
56296 "\u0000\u0b6d\u0b6c\u0001\u0000\u0000\u0000\u0b6d\u0b6e\u0001\u0000\u0000"+
56297 "\u0000\u0b6e\u0b6f\u0001\u0000\u0000\u0000\u0b6f\u0b70\u0005\u0110\u0000"+
56298 "\u0000\u0b70\u0b72\u0003P(\u0000\u0b71\u0b67\u0001\u0000\u0000\u0000\u0b71"+
56299 "\u0b6a\u0001\u0000\u0000\u0000\u0b71\u0b6d\u0001\u0000\u0000\u0000\u0b72"+
56300 "\u01a1\u0001\u0000\u0000\u0000\u0b73\u0b74\u0005\u001f\u0000\u0000\u0b74"+
56301 "\u0b79\u0003\u00ceg\u0000\u0b75\u0b76\u0005%\u0000\u0000\u0b76\u0b78\u0003"+
56302 "\u00ceg\u0000\u0b77\u0b75\u0001\u0000\u0000\u0000\u0b78\u0b7b\u0001\u0000"+
56303 "\u0000\u0000\u0b79\u0b77\u0001\u0000\u0000\u0000\u0b79\u0b7a\u0001\u0000"+
56304 "\u0000\u0000\u0b7a\u0b7c\u0001\u0000\u0000\u0000\u0b7b\u0b79\u0001\u0000"+
56305 "\u0000\u0000\u0b7c\u0b7d\u0005 \u0000\u0000\u0b7d\u01a3\u0001\u0000\u0000"+
56306 "\u0000\u0b7e\u0b7f\u0005\u0135\u0000\u0000\u0b7f\u0b80\u0005f\u0000\u0000"+
56307 "\u0b80\u0b81\u0005\u01a2\u0000\u0000\u0b81\u0b82\u0005\u001f\u0000\u0000"+
56308 "\u0b82\u0b83\u0003H$\u0000\u0b83\u0b84\u0005%\u0000\u0000\u0b84\u0b85"+
56309 "\u0003H$\u0000\u0b85\u0b86\u0005 \u0000\u0000\u0b86\u01a5\u0001\u0000"+
56310 "\u0000\u0000\u0b87\u0b8f\u0005a\u0000\u0000\u0b88\u0b89\u00034\u001a\u0000"+
56311 "\u0b89\u0b8a\u0005\u001f\u0000\u0000\u0b8a\u0b8b\u0003H$\u0000\u0b8b\u0b8c"+
56312 "\u0005 \u0000\u0000\u0b8c\u0b90\u0001\u0000\u0000\u0000\u0b8d\u0b90\u0003"+
56313 "\u00e6s\u0000\u0b8e\u0b90\u0005\u02d4\u0000\u0000\u0b8f\u0b88\u0001\u0000"+
56314 "\u0000\u0000\u0b8f\u0b8d\u0001\u0000\u0000\u0000\u0b8f\u0b8e\u0001\u0000"+
56315 "\u0000\u0000\u0b90\u0b92\u0001\u0000\u0000\u0000\u0b91\u0b87\u0001\u0000"+
56316 "\u0000\u0000\u0b91\u0b92\u0001\u0000\u0000\u0000\u0b92\u01a7\u0001\u0000"+
56317 "\u0000\u0000\u0b93\u0b96\u0005\u01a4\u0000\u0000\u0b94\u0b97\u0003\u00e6"+
56318 "s\u0000\u0b95\u0b97\u0005\u02d4\u0000\u0000\u0b96\u0b94\u0001\u0000\u0000"+
56319 "\u0000\u0b96\u0b95\u0001\u0000\u0000\u0000\u0b97\u0b99\u0001\u0000\u0000"+
56320 "\u0000\u0b98\u0b93\u0001\u0000\u0000\u0000\u0b98\u0b99\u0001\u0000\u0000"+
56321 "\u0000\u0b99\u0ba1\u0001\u0000\u0000\u0000\u0b9a\u0b9b\u0005\u01b3\u0000"+
56322 "\u0000\u0b9b\u0ba0\u00034\u001a\u0000\u0b9c\u0b9d\u0003\u00e6s\u0000\u0b9d"+
56323 "\u0b9e\u0005\u02d4\u0000\u0000\u0b9e\u0ba0\u0001\u0000\u0000\u0000\u0b9f"+
56324 "\u0b9a\u0001\u0000\u0000\u0000\u0b9f\u0b9c\u0001\u0000\u0000\u0000\u0ba0"+
56325 "\u0ba2\u0001\u0000\u0000\u0000\u0ba1\u0b9f\u0001\u0000\u0000\u0000\u0ba1"+
56326 "\u0ba2\u0001\u0000\u0000\u0000\u0ba2\u0ba5\u0001\u0000\u0000\u0000\u0ba3"+
56327 "\u0ba4\u0005M\u0000\u0000\u0ba4\u0ba6\u0003\u01aa\u00d5\u0000\u0ba5\u0ba3"+
56328 "\u0001\u0000\u0000\u0000\u0ba5\u0ba6\u0001\u0000\u0000\u0000\u0ba6\u01a9"+
56329 "\u0001\u0000\u0000\u0000\u0ba7\u0ba8\u0005\u001f\u0000\u0000\u0ba8\u0bad"+
56330 "\u0003\u01ac\u00d6\u0000\u0ba9\u0baa\u0005%\u0000\u0000\u0baa\u0bac\u0003"+
56331 "\u01ac\u00d6\u0000\u0bab\u0ba9\u0001\u0000\u0000\u0000\u0bac\u0baf\u0001"+
56332 "\u0000\u0000\u0000\u0bad\u0bab\u0001\u0000\u0000\u0000\u0bad\u0bae\u0001"+
56333 "\u0000\u0000\u0000\u0bae\u0bb0\u0001\u0000\u0000\u0000\u0baf\u0bad\u0001"+
56334 "\u0000\u0000\u0000\u0bb0\u0bb1\u0005 \u0000\u0000\u0bb1\u01ab\u0001\u0000"+
56335 "\u0000\u0000\u0bb2\u0bb3\u0005\u019f\u0000\u0000\u0bb3\u0bb4\u0005\u0018"+
56336 "\u0000\u0000\u0bb4\u0bbb\u0007*\u0000\u0000\u0bb5\u0bb6\u0005a\u0000\u0000"+
56337 "\u0bb6\u0bb7\u0005\u00f7\u0000\u0000\u0bb7\u0bb8\u0005\u001f\u0000\u0000"+
56338 "\u0bb8\u0bb9\u0003\u00dcn\u0000\u0bb9\u0bba\u0005 \u0000\u0000\u0bba\u0bbc"+
56339 "\u0001\u0000\u0000\u0000\u0bbb\u0bb5\u0001\u0000\u0000\u0000\u0bbb\u0bbc"+
56340 "\u0001\u0000\u0000\u0000\u0bbc\u0be5\u0001\u0000\u0000\u0000\u0bbd\u0bbe"+
56341 "\u0005\u01b5\u0000\u0000\u0bbe\u0bbf\u0005\u0018\u0000\u0000\u0bbf\u0be5"+
56342 "\u0003\u00e6s\u0000\u0bc0\u0bc1\u0005\u01b4\u0000\u0000\u0bc1\u0bc4\u0005"+
56343 "\u0018\u0000\u0000\u0bc2\u0bc5\u0003Z-\u0000\u0bc3\u0bc5\u0005\u019e\u0000"+
56344 "\u0000\u0bc4\u0bc2\u0001\u0000\u0000\u0000\u0bc4\u0bc3\u0001\u0000\u0000"+
56345 "\u0000\u0bc5\u0be5\u0001\u0000\u0000\u0000\u0bc6\u0bc7\u0005\u01b7\u0000"+
56346 "\u0000\u0bc7\u0bc8\u0005\u0018\u0000\u0000\u0bc8\u0be5\u0003\u00e6s\u0000"+
56347 "\u0bc9\u0bca\u0005\u01b8\u0000\u0000\u0bca\u0bcb\u0005\u0018\u0000\u0000"+
56348 "\u0bcb\u0be5\u0003\u00e6s\u0000\u0bcc\u0bcd\u0005\u01b6\u0000\u0000\u0bcd"+
56349 "\u0bce\u0005\u0018\u0000\u0000\u0bce\u0be5\u0003\u00e6s\u0000\u0bcf\u0bd0"+
56350 "\u0005\u01a3\u0000\u0000\u0bd0\u0bd1\u0005\u0018\u0000\u0000\u0bd1\u0bd3"+
56351 "\u0005a\u0000\u0000\u0bd2\u0bd4\u0003\u0204\u0102\u0000\u0bd3\u0bd2\u0001"+
56352 "\u0000\u0000\u0000\u0bd3\u0bd4\u0001\u0000\u0000\u0000\u0bd4\u0be5\u0001"+
56353 "\u0000\u0000\u0000\u0bd5\u0bd6\u0005\u01b2\u0000\u0000\u0bd6\u0bdd\u0005"+
56354 "\u0018\u0000\u0000\u0bd7\u0bd9\u0005a\u0000\u0000\u0bd8\u0bda\u0003\u01b0"+
56355 "\u00d8\u0000\u0bd9\u0bd8\u0001\u0000\u0000\u0000\u0bd9\u0bda\u0001\u0000"+
56356 "\u0000\u0000\u0bda\u0bde\u0001\u0000\u0000\u0000\u0bdb\u0bdc\u0005b\u0000"+
56357 "\u0000\u0bdc\u0bde\u0003\u01b4\u00da\u0000\u0bdd\u0bd7\u0001\u0000\u0000"+
56358 "\u0000\u0bdd\u0bdb\u0001\u0000\u0000\u0000\u0bde\u0be5\u0001\u0000\u0000"+
56359 "\u0000\u0bdf\u0be5\u0003\u01b6\u00db\u0000\u0be0\u0be5\u0003\u01b8\u00dc"+
56360 "\u0000\u0be1\u0be5\u0003\u01ba\u00dd\u0000\u0be2\u0be5\u0003\u01ae\u00d7"+
56361 "\u0000\u0be3\u0be5\u0003\u01bc\u00de\u0000\u0be4\u0bb2\u0001\u0000\u0000"+
56362 "\u0000\u0be4\u0bbd\u0001\u0000\u0000\u0000\u0be4\u0bc0\u0001\u0000\u0000"+
56363 "\u0000\u0be4\u0bc6\u0001\u0000\u0000\u0000\u0be4\u0bc9\u0001\u0000\u0000"+
56364 "\u0000\u0be4\u0bcc\u0001\u0000\u0000\u0000\u0be4\u0bcf\u0001\u0000\u0000"+
56365 "\u0000\u0be4\u0bd5\u0001\u0000\u0000\u0000\u0be4\u0bdf\u0001\u0000\u0000"+
56366 "\u0000\u0be4\u0be0\u0001\u0000\u0000\u0000\u0be4\u0be1\u0001\u0000\u0000"+
56367 "\u0000\u0be4\u0be2\u0001\u0000\u0000\u0000\u0be4\u0be3\u0001\u0000\u0000"+
56368 "\u0000\u0be5\u01ad\u0001\u0000\u0000\u0000\u0be6\u0be7\u0005\u01f4\u0000"+
56369 "\u0000\u0be7\u0be8\u0005\u0018\u0000\u0000\u0be8\u0be9\u0005a\u0000\u0000"+
56370 "\u0be9\u0bea\u0005\u001f\u0000\u0000\u0bea\u0beb\u0005\u01f5\u0000\u0000"+
56371 "\u0beb\u0bec\u0005\u0018\u0000\u0000\u0bec\u0bed\u0003H$\u0000\u0bed\u0bee"+
56372 "\u0005%\u0000\u0000\u0bee\u0bef\u0005\u01f6\u0000\u0000\u0bef\u0bf0\u0005"+
56373 "\u0018\u0000\u0000\u0bf0\u0bf1\u0003\u01f6\u00fb\u0000\u0bf1\u01af\u0001"+
56374 "\u0000\u0000\u0000\u0bf2\u0bf3\u0005\u001f\u0000\u0000\u0bf3\u0bf8\u0003"+
56375 "\u01b2\u00d9\u0000\u0bf4\u0bf5\u0005%\u0000\u0000\u0bf5\u0bf7\u0003\u01b2"+
56376 "\u00d9\u0000\u0bf6\u0bf4\u0001\u0000\u0000\u0000\u0bf7\u0bfa\u0001\u0000"+
56377 "\u0000\u0000\u0bf8\u0bf6\u0001\u0000\u0000\u0000\u0bf8\u0bf9\u0001\u0000"+
56378 "\u0000\u0000\u0bf9\u0bfb\u0001\u0000\u0000\u0000\u0bfa\u0bf8\u0001\u0000"+
56379 "\u0000\u0000\u0bfb\u0bfc\u0005 \u0000\u0000\u0bfc\u01b1\u0001\u0000\u0000"+
56380 "\u0000\u0bfd\u0bfe\u0005\u01b9\u0000\u0000\u0bfe\u0c01\u0005\u0018\u0000"+
56381 "\u0000\u0bff\u0c02\u0005l\u0000\u0000\u0c00\u0c02\u0003v;\u0000\u0c01"+
56382 "\u0bff\u0001\u0000\u0000\u0000\u0c01\u0c00\u0001\u0000\u0000\u0000\u0c02"+
56383 "\u0c03\u0001\u0000\u0000\u0000\u0c03\u0c05\u0005%\u0000\u0000\u0c04\u0bfd"+
56384 "\u0001\u0000\u0000\u0000\u0c04\u0c05\u0001\u0000\u0000\u0000\u0c05\u0c06"+
56385 "\u0001\u0000\u0000\u0000\u0c06\u0c07\u0005\u01b0\u0000\u0000\u0c07\u0c08"+
56386 "\u0005\u0018\u0000\u0000\u0c08\u0c09\u0007+\u0000\u0000\u0c09\u01b3\u0001"+
56387 "\u0000\u0000\u0000\u0c0a\u0c0b\u0005\u001f\u0000\u0000\u0c0b\u0c0c\u0005"+
56388 "\u01b0\u0000\u0000\u0c0c\u0c0d\u0005\u0018\u0000\u0000\u0c0d\u0c0e\u0005"+
56389 "\u0134\u0000\u0000\u0c0e\u0c0f\u0005 \u0000\u0000\u0c0f\u01b5\u0001\u0000"+
56390 "\u0000\u0000\u0c10\u0c11\u0005\u01af\u0000\u0000\u0c11\u0c12\u0005\u0018"+
56391 "\u0000\u0000\u0c12\u0c1d\u0005a\u0000\u0000\u0c13\u0c14\u0005\u011c\u0000"+
56392 "\u0000\u0c14\u0c15\u0005\u0018\u0000\u0000\u0c15\u0c1d\u0007,\u0000\u0000"+
56393 "\u0c16\u0c17\u0005\u01a3\u0000\u0000\u0c17\u0c18\u0005\u0018\u0000\u0000"+
56394 "\u0c18\u0c1a\u0005a\u0000\u0000\u0c19\u0c1b\u0003\u0204\u0102\u0000\u0c1a"+
56395 "\u0c19\u0001\u0000\u0000\u0000\u0c1a\u0c1b\u0001\u0000\u0000\u0000\u0c1b"+
56396 "\u0c1d\u0001\u0000\u0000\u0000\u0c1c\u0c10\u0001\u0000\u0000\u0000\u0c1c"+
56397 "\u0c13\u0001\u0000\u0000\u0000\u0c1c\u0c16\u0001\u0000\u0000\u0000\u0c1d"+
56398 "\u01b7\u0001\u0000\u0000\u0000\u0c1e\u0c1f\u0005\u011a\u0000\u0000\u0c1f"+
56399 "\u0c27\u0005\u0018\u0000\u0000\u0c20\u0c21\u0005\u0123\u0000\u0000\u0c21"+
56400 "\u0c22\u0005\u001f\u0000\u0000\u0c22\u0c23\u0003H$\u0000\u0c23\u0c24\u0005"+
56401 " \u0000\u0000\u0c24\u0c28\u0001\u0000\u0000\u0000\u0c25\u0c28\u0005\u01a8"+
56402 "\u0000\u0000\u0c26\u0c28\u0005\u013b\u0000\u0000\u0c27\u0c20\u0001\u0000"+
56403 "\u0000\u0000\u0c27\u0c25\u0001\u0000\u0000\u0000\u0c27\u0c26\u0001\u0000"+
56404 "\u0000\u0000\u0c28\u01b9\u0001\u0000\u0000\u0000\u0c29\u0c2a\u0005\u010d"+
56405 "\u0000\u0000\u0c2a\u0c2b\u0005\u0110\u0000\u0000\u0c2b\u0c46\u0005>\u0000"+
56406 "\u0000\u0c2c\u0c2d\u0005\u010d\u0000\u0000\u0c2d\u0c2e\u0005\u0110\u0000"+
56407 "\u0000\u0c2e\u0c2f\u0005>\u0000\u0000\u0c2f\u0c30\u0005u\u0000\u0000\u0c30"+
56408 "\u0c46\u0003P(\u0000\u0c31\u0c46\u0005\u0124\u0000\u0000\u0c32\u0c33\u0005"+
56409 "\u010d\u0000\u0000\u0c33\u0c34\u0005>\u0000\u0000\u0c34\u0c35\u0005\u001f"+
56410 "\u0000\u0000\u0c35\u0c37\u0003H$\u0000\u0c36\u0c38\u0007\u0012\u0000\u0000"+
56411 "\u0c37\u0c36\u0001\u0000\u0000\u0000\u0c37\u0c38\u0001\u0000\u0000\u0000"+
56412 "\u0c38\u0c40\u0001\u0000\u0000\u0000\u0c39\u0c3a\u0005%\u0000\u0000\u0c3a"+
56413 "\u0c3c\u0003H$\u0000\u0c3b\u0c3d\u0007\u0012\u0000\u0000\u0c3c\u0c3b\u0001"+
56414 "\u0000\u0000\u0000\u0c3c\u0c3d\u0001\u0000\u0000\u0000\u0c3d\u0c3f\u0001"+
56415 "\u0000\u0000\u0000\u0c3e\u0c39\u0001\u0000\u0000\u0000\u0c3f\u0c42\u0001"+
56416 "\u0000\u0000\u0000\u0c40\u0c3e\u0001\u0000\u0000\u0000\u0c40\u0c41\u0001"+
56417 "\u0000\u0000\u0000\u0c41\u0c43\u0001\u0000\u0000\u0000\u0c42\u0c40\u0001"+
56418 "\u0000\u0000\u0000\u0c43\u0c44\u0005 \u0000\u0000\u0c44\u0c46\u0001\u0000"+
56419 "\u0000\u0000\u0c45\u0c29\u0001\u0000\u0000\u0000\u0c45\u0c2c\u0001\u0000"+
56420 "\u0000\u0000\u0c45\u0c31\u0001\u0000\u0000\u0000\u0c45\u0c32\u0001\u0000"+
56421 "\u0000\u0000\u0c46\u01bb\u0001\u0000\u0000\u0000\u0c47\u0c48\u0005\u00f6"+
56422 "\u0000\u0000\u0c48\u0c49\u0005\u001f\u0000\u0000\u0c49\u0c4a\u0003H$\u0000"+
56423 "\u0c4a\u0c4c\u0005\u0139\u0000\u0000\u0c4b\u0c4d\u0007-\u0000\u0000\u0c4c"+
56424 "\u0c4b\u0001\u0000\u0000\u0000\u0c4c\u0c4d\u0001\u0000\u0000\u0000\u0c4d"+
56425 "\u0c4e\u0001\u0000\u0000\u0000\u0c4e\u0c4f\u0005f\u0000\u0000\u0c4f\u0c50"+
56426 "\u0005L\u0000\u0000\u0c50\u0c51\u0005\u001f\u0000\u0000\u0c51\u0c56\u0003"+
56427 "t:\u0000\u0c52\u0c53\u0005%\u0000\u0000\u0c53\u0c55\u0003t:\u0000\u0c54"+
56428 "\u0c52\u0001\u0000\u0000\u0000\u0c55\u0c58\u0001\u0000\u0000\u0000\u0c56"+
56429 "\u0c54\u0001\u0000\u0000\u0000\u0c56\u0c57\u0001\u0000\u0000\u0000\u0c57"+
56430 "\u0c59\u0001\u0000\u0000\u0000\u0c58\u0c56\u0001\u0000\u0000\u0000\u0c59"+
56431 "\u0c5a\u0005 \u0000\u0000\u0c5a\u0c5b\u0005 \u0000\u0000\u0c5b\u01bd\u0001"+
56432 "\u0000\u0000\u0000\u0c5c\u0c5e\u0005A\u0000\u0000\u0c5d\u0c5c\u0001\u0000"+
56433 "\u0000\u0000\u0c5d\u0c5e\u0001\u0000\u0000\u0000\u0c5e\u0c60\u0001\u0000"+
56434 "\u0000\u0000\u0c5f\u0c61\u0003\u0168\u00b4\u0000\u0c60\u0c5f\u0001\u0000"+
56435 "\u0000\u0000\u0c60\u0c61\u0001\u0000\u0000\u0000\u0c61\u01bf\u0001\u0000"+
56436 "\u0000\u0000\u0c62\u0c6c\u0003\u01c2\u00e1\u0000\u0c63\u0c6c\u0003\u01c4"+
56437 "\u00e2\u0000\u0c64\u0c6c\u0003\u01d4\u00ea\u0000\u0c65\u0c6c\u0003\u01e4"+
56438 "\u00f2\u0000\u0c66\u0c6c\u0003\u01e6\u00f3\u0000\u0c67\u0c6c\u0003\u01e8"+
56439 "\u00f4\u0000\u0c68\u0c6c\u0003\u01ea\u00f5\u0000\u0c69\u0c6c\u0003\u0202"+
56440 "\u0101\u0000\u0c6a\u0c6c\u0005\u013a\u0000\u0000\u0c6b\u0c62\u0001\u0000"+
56441 "\u0000\u0000\u0c6b\u0c63\u0001\u0000\u0000\u0000\u0c6b\u0c64\u0001\u0000"+
56442 "\u0000\u0000\u0c6b\u0c65\u0001\u0000\u0000\u0000\u0c6b\u0c66\u0001\u0000"+
56443 "\u0000\u0000\u0c6b\u0c67\u0001\u0000\u0000\u0000\u0c6b\u0c68\u0001\u0000"+
56444 "\u0000\u0000\u0c6b\u0c69\u0001\u0000\u0000\u0000\u0c6b\u0c6a\u0001\u0000"+
56445 "\u0000\u0000\u0c6c\u01c1\u0001\u0000\u0000\u0000\u0c6d\u0c6e\u0005M\u0000"+
56446 "\u0000\u0c6e\u0c70\u0007.\u0000\u0000\u0c6f\u0c6d\u0001\u0000\u0000\u0000"+
56447 "\u0c6f\u0c70\u0001\u0000\u0000\u0000\u0c70\u0c71\u0001\u0000\u0000\u0000"+
56448 "\u0c71\u0c74\u00059\u0000\u0000\u0c72\u0c75\u0003\u01c8\u00e4\u0000\u0c73"+
56449 "\u0c75\u0003\u01ce\u00e7\u0000\u0c74\u0c72\u0001\u0000\u0000\u0000\u0c74"+
56450 "\u0c73\u0001\u0000\u0000\u0000\u0c75\u01c3\u0001\u0000\u0000\u0000\u0c76"+
56451 "\u0c77\u0003\u01c6\u00e3\u0000\u0c77\u0c7a\u0003\u00aeW\u0000\u0c78\u0c79"+
56452 "\u0005\u010f\u0000\u0000\u0c79\u0c7b\u0003Z-\u0000\u0c7a\u0c78\u0001\u0000"+
56453 "\u0000\u0000\u0c7a\u0c7b\u0001\u0000\u0000\u0000\u0c7b\u0c7f\u0001\u0000"+
56454 "\u0000\u0000\u0c7c\u0c80\u0005l\u0000\u0000\u0c7d\u0c7e\u0005k\u0000\u0000"+
56455 "\u0c7e\u0c80\u0005l\u0000\u0000\u0c7f\u0c7c\u0001\u0000\u0000\u0000\u0c7f"+
56456 "\u0c7d\u0001\u0000\u0000\u0000\u0c7f\u0c80\u0001\u0000\u0000\u0000\u0c80"+
56457 "\u0c82\u0001\u0000\u0000\u0000\u0c81\u0c83\u0005\u0141\u0000\u0000\u0c82"+
56458 "\u0c81\u0001\u0000\u0000\u0000\u0c82\u0c83\u0001\u0000\u0000\u0000\u0c83"+
56459 "\u01c5\u0001\u0000\u0000\u0000\u0c84\u0c85\u00053\u0000\u0000\u0c85\u0c86"+
56460 "\u0005<\u0000\u0000\u0c86\u0c87\u0003H$\u0000\u0c87\u01c7\u0001\u0000"+
56461 "\u0000\u0000\u0c88\u0c8d\u0003\u01ca\u00e5\u0000\u0c89\u0c8a\u0005%\u0000"+
56462 "\u0000\u0c8a\u0c8c\u0003\u01ca\u00e5\u0000\u0c8b\u0c89\u0001\u0000\u0000"+
56463 "\u0000\u0c8c\u0c8f\u0001\u0000\u0000\u0000\u0c8d\u0c8b\u0001\u0000\u0000"+
56464 "\u0000\u0c8d\u0c8e\u0001\u0000\u0000\u0000\u0c8e\u01c9\u0001\u0000\u0000"+
56465 "\u0000\u0c8f\u0c8d\u0001\u0000\u0000\u0000\u0c90\u0c97\u0003\u0156\u00ab"+
56466 "\u0000\u0c91\u0c97\u0003\u018c\u00c6\u0000\u0c92\u0c97\u0003\u018e\u00c7"+
56467 "\u0000\u0c93\u0c97\u0003\u0190\u00c8\u0000\u0c94\u0c97\u0003\u01f8\u00fc"+
56468 "\u0000\u0c95\u0c97\u0003\u01cc\u00e6\u0000\u0c96\u0c90\u0001\u0000\u0000"+
56469 "\u0000\u0c96\u0c91\u0001\u0000\u0000\u0000\u0c96\u0c92\u0001\u0000\u0000"+
56470 "\u0000\u0c96\u0c93\u0001\u0000\u0000\u0000\u0c96\u0c94\u0001\u0000\u0000"+
56471 "\u0000\u0c96\u0c95\u0001\u0000\u0000\u0000\u0c97\u01cb\u0001\u0000\u0000"+
56472 "\u0000\u0c98\u0c99\u0005?\u0000\u0000\u0c99\u0c9b\u0003X,\u0000\u0c9a"+
56473 "\u0c98\u0001\u0000\u0000\u0000\u0c9a\u0c9b\u0001\u0000\u0000\u0000\u0c9b"+
56474 "\u0c9c\u0001\u0000\u0000\u0000\u0c9c\u0c9d\u0005\u009a\u0000\u0000\u0c9d"+
56475 "\u0c9e\u0003t:\u0000\u0c9e\u0c9f\u0005f\u0000\u0000\u0c9f\u0ca0\u0003"+
56476 "H$\u0000\u0ca0\u01cd\u0001\u0000\u0000\u0000\u0ca1\u0ca2\u0003\u01d0\u00e8"+
56477 "\u0000\u0ca2\u0ca3\u0005%\u0000\u0000\u0ca3\u0ca4\u0003\u01a4\u00d2\u0000"+
56478 "\u0ca4\u0caa\u0001\u0000\u0000\u0000\u0ca5\u0ca6\u0003\u01a4\u00d2\u0000"+
56479 "\u0ca6\u0ca7\u0005%\u0000\u0000\u0ca7\u0ca8\u0003\u01d0\u00e8\u0000\u0ca8"+
56480 "\u0caa\u0001\u0000\u0000\u0000\u0ca9\u0ca1\u0001\u0000\u0000\u0000\u0ca9"+
56481 "\u0ca5\u0001\u0000\u0000\u0000\u0caa\u01cf\u0001\u0000\u0000\u0000\u0cab"+
56482 "\u0cac\u0003\u01d2\u00e9\u0000\u0cac\u0cad\u0005\u009a\u0000\u0000\u0cad"+
56483 "\u0cb0\u0003t:\u0000\u0cae\u0caf\u0005M\u0000\u0000\u0caf\u0cb1\u0005"+
56484 "L\u0000\u0000\u0cb0\u0cae\u0001\u0000\u0000\u0000\u0cb0\u0cb1\u0001\u0000"+
56485 "\u0000\u0000\u0cb1\u0cb2\u0001\u0000\u0000\u0000\u0cb2\u0cb3\u0005%\u0000"+
56486 "\u0000\u0cb3\u0cb4\u0003\u01d2\u00e9\u0000\u0cb4\u01d1\u0001\u0000\u0000"+
56487 "\u0000\u0cb5\u0cb6\u0003H$\u0000\u0cb6\u0cb7\u0003\u00b0X\u0000\u0cb7"+
56488 "\u0cb8\u0005\u0100\u0000\u0000\u0cb8\u0cb9\u0005\u00fd\u0000\u0000\u0cb9"+
56489 "\u0cba\u0005`\u0000\u0000\u0cba\u0cbc\u0005\u00f9\u0000\u0000\u0cbb\u0cbd"+
56490 "\u0007%\u0000\u0000\u0cbc\u0cbb\u0001\u0000\u0000\u0000\u0cbc\u0cbd\u0001"+
56491 "\u0000\u0000\u0000\u0cbd\u0cbf\u0001\u0000\u0000\u0000\u0cbe\u0cc0\u0005"+
56492 "\u00f4\u0000\u0000\u0cbf\u0cbe\u0001\u0000\u0000\u0000\u0cbf\u0cc0\u0001"+
56493 "\u0000\u0000\u0000\u0cc0\u0cc3\u0001\u0000\u0000\u0000\u0cc1\u0cc2\u0005"+
56494 "k\u0000\u0000\u0cc2\u0cc4\u0005l\u0000\u0000\u0cc3\u0cc1\u0001\u0000\u0000"+
56495 "\u0000\u0cc3\u0cc4\u0001\u0000\u0000\u0000\u0cc4\u0cc7\u0001\u0000\u0000"+
56496 "\u0000\u0cc5\u0cc6\u0005?\u0000\u0000\u0cc6\u0cc8\u0003\u00e6s\u0000\u0cc7"+
56497 "\u0cc5\u0001\u0000\u0000\u0000\u0cc7\u0cc8\u0001\u0000\u0000\u0000\u0cc8"+
56498 "\u01d3\u0001\u0000\u0000\u0000\u0cc9\u0cd0\u00054\u0000\u0000\u0cca\u0cd1"+
56499 "\u0003\u01d6\u00eb\u0000\u0ccb\u0cd1\u0003\u01e0\u00f0\u0000\u0ccc\u0cd1"+
56500 "\u0003\u01e2\u00f1\u0000\u0ccd\u0cce\u0005\u0135\u0000\u0000\u0cce\u0ccf"+
56501 "\u0005f\u0000\u0000\u0ccf\u0cd1\u0005\u01a2\u0000\u0000\u0cd0\u0cca\u0001"+
56502 "\u0000\u0000\u0000\u0cd0\u0ccb\u0001\u0000\u0000\u0000\u0cd0\u0ccc\u0001"+
56503 "\u0000\u0000\u0000\u0cd0\u0ccd\u0001\u0000\u0000\u0000\u0cd1\u01d5\u0001"+
56504 "\u0000\u0000\u0000\u0cd2\u0cd4\u0005?\u0000\u0000\u0cd3\u0cd2\u0001\u0000"+
56505 "\u0000\u0000\u0cd3\u0cd4\u0001\u0000\u0000\u0000\u0cd4\u0cd6\u0001\u0000"+
56506 "\u0000\u0000\u0cd5\u0cd7\u0003\u00fa}\u0000\u0cd6\u0cd5\u0001\u0000\u0000"+
56507 "\u0000\u0cd6\u0cd7\u0001\u0000\u0000\u0000\u0cd7\u0cd8\u0001\u0000\u0000"+
56508 "\u0000\u0cd8\u0cdd\u0003\u01d8\u00ec\u0000\u0cd9\u0cda\u0005%\u0000\u0000"+
56509 "\u0cda\u0cdc\u0003\u01d8\u00ec\u0000\u0cdb\u0cd9\u0001\u0000\u0000\u0000"+
56510 "\u0cdc\u0cdf\u0001\u0000\u0000\u0000\u0cdd\u0cdb\u0001\u0000\u0000\u0000"+
56511 "\u0cdd\u0cde\u0001\u0000\u0000\u0000\u0cde\u01d7\u0001\u0000\u0000\u0000"+
56512 "\u0cdf\u0cdd\u0001\u0000\u0000\u0000\u0ce0\u0ce2\u0003X,\u0000\u0ce1\u0ce3"+
56513 "\u0003\u01da\u00ed\u0000\u0ce2\u0ce1\u0001\u0000\u0000\u0000\u0ce2\u0ce3"+
56514 "\u0001\u0000\u0000\u0000\u0ce3\u01d9\u0001\u0000\u0000\u0000\u0ce4\u0ce5"+
56515 "\u0005M\u0000\u0000\u0ce5\u0ce6\u0005\u001f\u0000\u0000\u0ce6\u0ceb\u0003"+
56516 "\u01dc\u00ee\u0000\u0ce7\u0ce8\u0005%\u0000\u0000\u0ce8\u0cea\u0003\u01dc"+
56517 "\u00ee\u0000\u0ce9\u0ce7\u0001\u0000\u0000\u0000\u0cea\u0ced\u0001\u0000"+
56518 "\u0000\u0000\u0ceb\u0ce9\u0001\u0000\u0000\u0000\u0ceb\u0cec\u0001\u0000"+
56519 "\u0000\u0000\u0cec\u0cee\u0001\u0000\u0000\u0000\u0ced\u0ceb\u0001\u0000"+
56520 "\u0000\u0000\u0cee\u0cef\u0005 \u0000\u0000\u0cef\u01db\u0001\u0000\u0000"+
56521 "\u0000\u0cf0\u0cf1\u0005\u012c\u0000\u0000\u0cf1\u0cf2\u0005\u0018\u0000"+
56522 "\u0000\u0cf2\u0d02\u0005\u02d5\u0000\u0000\u0cf3\u0cf4\u0005\u0131\u0000"+
56523 "\u0000\u0cf4\u0cf5\u0005\u0018\u0000\u0000\u0cf5\u0d02\u0003\u01de\u00ef"+
56524 "\u0000\u0cf6\u0cf7\u0005\u012d\u0000\u0000\u0cf7\u0cff\u0005g\u0000\u0000"+
56525 "\u0cf8\u0cf9\u00034\u001a\u0000\u0cf9\u0cfa\u0005\u001f\u0000\u0000\u0cfa"+
56526 "\u0cfb\u0003H$\u0000\u0cfb\u0cfc\u0005 \u0000\u0000\u0cfc\u0d00\u0001"+
56527 "\u0000\u0000\u0000\u0cfd\u0d00\u0003\u00e6s\u0000\u0cfe\u0d00\u0005\u02d4"+
56528 "\u0000\u0000\u0cff\u0cf8\u0001\u0000\u0000\u0000\u0cff\u0cfd\u0001\u0000"+
56529 "\u0000\u0000\u0cff\u0cfe\u0001\u0000\u0000\u0000\u0d00\u0d02\u0001\u0000"+
56530 "\u0000\u0000\u0d01\u0cf0\u0001\u0000\u0000\u0000\u0d01\u0cf3\u0001\u0000"+
56531 "\u0000\u0000\u0d01\u0cf6\u0001\u0000\u0000\u0000\u0d02\u01dd\u0001\u0000"+
56532 "\u0000\u0000\u0d03\u0d04\u0007\u0000\u0000\u0000\u0d04\u01df\u0001\u0000"+
56533 "\u0000\u0000\u0d05\u0d07\u0005<\u0000\u0000\u0d06\u0d08\u0003\u00fa}\u0000"+
56534 "\u0d07\u0d06\u0001\u0000\u0000\u0000\u0d07\u0d08\u0001\u0000\u0000\u0000"+
56535 "\u0d08\u0d09\u0001\u0000\u0000\u0000\u0d09\u0d0e\u0003H$\u0000\u0d0a\u0d0b"+
56536 "\u0005%\u0000\u0000\u0d0b\u0d0d\u0003H$\u0000\u0d0c\u0d0a\u0001\u0000"+
56537 "\u0000\u0000\u0d0d\u0d10\u0001\u0000\u0000\u0000\u0d0e\u0d0c\u0001\u0000"+
56538 "\u0000\u0000\u0d0e\u0d0f\u0001\u0000\u0000\u0000\u0d0f\u01e1\u0001\u0000"+
56539 "\u0000\u0000\u0d10\u0d0e\u0001\u0000\u0000\u0000\u0d11\u0d13\u0005>\u0000"+
56540 "\u0000\u0d12\u0d14\u0003\u00fa}\u0000\u0d13\u0d12\u0001\u0000\u0000\u0000"+
56541 "\u0d13\u0d14\u0001\u0000\u0000\u0000\u0d14\u0d15\u0001\u0000\u0000\u0000"+
56542 "\u0d15\u0d1a\u0003V+\u0000\u0d16\u0d17\u0005%\u0000\u0000\u0d17\u0d19"+
56543 "\u0003V+\u0000\u0d18\u0d16\u0001\u0000\u0000\u0000\u0d19\u0d1c\u0001\u0000"+
56544 "\u0000\u0000\u0d1a\u0d18\u0001\u0000\u0000\u0000\u0d1a\u0d1b\u0001\u0000"+
56545 "\u0000\u0000\u0d1b\u01e3\u0001\u0000\u0000\u0000\u0d1c\u0d1a\u0001\u0000"+
56546 "\u0000\u0000\u0d1d\u0d1f\u0005M\u0000\u0000\u0d1e\u0d1d\u0001\u0000\u0000"+
56547 "\u0000\u0d1e\u0d1f\u0001\u0000\u0000\u0000\u0d1f\u0d20\u0001\u0000\u0000"+
56548 "\u0000\u0d20\u0d21\u0007.\u0000\u0000\u0d21\u0d24\u0005?\u0000\u0000\u0d22"+
56549 "\u0d25\u0005r\u0000\u0000\u0d23\u0d25\u0003X,\u0000\u0d24\u0d22\u0001"+
56550 "\u0000\u0000\u0000\u0d24\u0d23\u0001\u0000\u0000\u0000\u0d25\u01e5\u0001"+
56551 "\u0000\u0000\u0000\u0d26\u0d27\u0007/\u0000\u0000\u0d27\u0d2a\u0005G\u0000"+
56552 "\u0000\u0d28\u0d2b\u0005r\u0000\u0000\u0d29\u0d2b\u0003\u00e8t\u0000\u0d2a"+
56553 "\u0d28\u0001\u0000\u0000\u0000\u0d2a\u0d29\u0001\u0000\u0000\u0000\u0d2b"+
56554 "\u01e7\u0001\u0000\u0000\u0000\u0d2c\u0d2f\u0005\u0142\u0000\u0000\u0d2d"+
56555 "\u0d2e\u0005\u00f6\u0000\u0000\u0d2e\u0d30\u0003b1\u0000\u0d2f\u0d2d\u0001"+
56556 "\u0000\u0000\u0000\u0d2f\u0d30\u0001\u0000\u0000\u0000\u0d30\u0d31\u0001"+
56557 "\u0000\u0000\u0000\u0d31\u0d32\u0005g\u0000\u0000\u0d32\u0d35\u0003@ "+
56558 "\u0000\u0d33\u0d34\u0005\u00f6\u0000\u0000\u0d34\u0d36\u0003b1\u0000\u0d35"+
56559 "\u0d33\u0001\u0000\u0000\u0000\u0d35\u0d36\u0001\u0000\u0000\u0000\u0d36"+
56560 "\u0d3c\u0001\u0000\u0000\u0000\u0d37\u0d38\u0005M\u0000\u0000\u0d38\u0d39"+
56561 "\u0005\u001f\u0000\u0000\u0d39\u0d3a\u0003\u00e2q\u0000\u0d3a\u0d3b\u0005"+
56562 " \u0000\u0000\u0d3b\u0d3d\u0001\u0000\u0000\u0000\u0d3c\u0d37\u0001\u0000"+
56563 "\u0000\u0000\u0d3c\u0d3d\u0001\u0000\u0000\u0000\u0d3d\u01e9\u0001\u0000"+
56564 "\u0000\u0000\u0d3e\u0d3f\u0005:\u0000\u0000\u0d3f\u0d42\u0005\u001f\u0000"+
56565 "\u0000\u0d40\u0d43\u0003\u01ec\u00f6\u0000\u0d41\u0d43\u0003\u01ee\u00f7"+
56566 "\u0000\u0d42\u0d40\u0001\u0000\u0000\u0000\u0d42\u0d41\u0001\u0000\u0000"+
56567 "\u0000\u0d43\u0d44\u0001\u0000\u0000\u0000\u0d44\u0d45\u0005 \u0000\u0000"+
56568 "\u0d45\u01eb\u0001\u0000\u0000\u0000\u0d46\u0d47\u0005\u01b3\u0000\u0000"+
56569 "\u0d47\u0d4b\u0005\u0018\u0000\u0000\u0d48\u0d4c\u00034\u001a\u0000\u0d49"+
56570 "\u0d4c\u0003\u00e6s\u0000\u0d4a\u0d4c\u0005\u02d4\u0000\u0000\u0d4b\u0d48"+
56571 "\u0001\u0000\u0000\u0000\u0d4b\u0d49\u0001\u0000\u0000\u0000\u0d4b\u0d4a"+
56572 "\u0001\u0000\u0000\u0000\u0d4c\u01ed\u0001\u0000\u0000\u0000\u0d4d\u0d4e"+
56573 "\u0005\u01a3\u0000\u0000\u0d4e\u0d54\u0005\u0018\u0000\u0000\u0d4f\u0d55"+
56574 "\u0005b\u0000\u0000\u0d50\u0d52\u0005a\u0000\u0000\u0d51\u0d53\u0003\u01f0"+
56575 "\u00f8\u0000\u0d52\u0d51\u0001\u0000\u0000\u0000\u0d52\u0d53\u0001\u0000"+
56576 "\u0000\u0000\u0d53\u0d55\u0001\u0000\u0000\u0000\u0d54\u0d4f\u0001\u0000"+
56577 "\u0000\u0000\u0d54\u0d50\u0001\u0000\u0000\u0000\u0d55\u01ef\u0001\u0000"+
56578 "\u0000\u0000\u0d56\u0d5a\u0005\u001f\u0000\u0000\u0d57\u0d58\u0005\u01bb"+
56579 "\u0000\u0000\u0d58\u0d59\u0005\u0018\u0000\u0000\u0d59\u0d5b\u0003@ \u0000"+
56580 "\u0d5a\u0d57\u0001\u0000\u0000\u0000\u0d5a\u0d5b\u0001\u0000\u0000\u0000"+
56581 "\u0d5b\u0d5d\u0001\u0000\u0000\u0000\u0d5c\u0d5e\u0003\u01f2\u00f9\u0000"+
56582 "\u0d5d\u0d5c\u0001\u0000\u0000\u0000\u0d5d\u0d5e\u0001\u0000\u0000\u0000"+
56583 "\u0d5e\u0d60\u0001\u0000\u0000\u0000\u0d5f\u0d61\u0003\u01f4\u00fa\u0000"+
56584 "\u0d60\u0d5f\u0001\u0000\u0000\u0000\u0d60\u0d61\u0001\u0000\u0000\u0000"+
56585 "\u0d61\u0d62\u0001\u0000\u0000\u0000\u0d62\u0d63\u0005 \u0000\u0000\u0d63"+
56586 "\u01f1\u0001\u0000\u0000\u0000\u0d64\u0d66\u0005%\u0000\u0000\u0d65\u0d64"+
56587 "\u0001\u0000\u0000\u0000\u0d65\u0d66\u0001\u0000\u0000\u0000\u0d66\u0d67"+
56588 "\u0001\u0000\u0000\u0000\u0d67\u0d68\u0005\u01a0\u0000\u0000\u0d68\u0d69"+
56589 "\u0005\u0018\u0000\u0000\u0d69\u0d6a\u0003\u01de\u00ef\u0000\u0d6a\u01f3"+
56590 "\u0001\u0000\u0000\u0000\u0d6b\u0d6d\u0005%\u0000\u0000\u0d6c\u0d6b\u0001"+
56591 "\u0000\u0000\u0000\u0d6c\u0d6d\u0001\u0000\u0000\u0000\u0d6d\u0d6e\u0001"+
56592 "\u0000\u0000\u0000\u0d6e\u0d6f\u0005\u01ba\u0000\u0000\u0d6f\u0d70\u0005"+
56593 "\u0018\u0000\u0000\u0d70\u0d71\u0003\u01f6\u00fb\u0000\u0d71\u01f5\u0001"+
56594 "\u0000\u0000\u0000\u0d72\u0d76\u0005\u0129\u0000\u0000\u0d73\u0d74\u0005"+
56595 "\u02d5\u0000\u0000\u0d74\u0d76\u00070\u0000\u0000\u0d75\u0d72\u0001\u0000"+
56596 "\u0000\u0000\u0d75\u0d73\u0001\u0000\u0000\u0000\u0d76\u01f7\u0001\u0000"+
56597 "\u0000\u0000\u0d77\u0d7a\u0003\u01fa\u00fd\u0000\u0d78\u0d7b\u0003\u01fc"+
56598 "\u00fe\u0000\u0d79\u0d7b\u0003\u0200\u0100\u0000\u0d7a\u0d78\u0001\u0000"+
56599 "\u0000\u0000\u0d7a\u0d79\u0001\u0000\u0000\u0000\u0d7b\u01f9\u0001\u0000"+
56600 "\u0000\u0000\u0d7c\u0d7d\u0005>\u0000\u0000\u0d7d\u0d7e\u0003V+\u0000"+
56601 "\u0d7e\u01fb\u0001\u0000\u0000\u0000\u0d7f\u0d85\u0005\u010e\u0000\u0000"+
56602 "\u0d80\u0d86\u0003\u019a\u00cd\u0000\u0d81\u0d83\u0003R)\u0000\u0d82\u0d84"+
56603 "\u0003\u01fe\u00ff\u0000\u0d83\u0d82\u0001\u0000\u0000\u0000\u0d83\u0d84"+
56604 "\u0001\u0000\u0000\u0000\u0d84\u0d86\u0001\u0000\u0000\u0000\u0d85\u0d80"+
56605 "\u0001\u0000\u0000\u0000\u0d85\u0d81\u0001\u0000\u0000\u0000\u0d86\u01fd"+
56606 "\u0001\u0000\u0000\u0000\u0d87\u0d88\u0005a\u0000\u0000\u0d88\u0d8b\u0003"+
56607 "\u00e6s\u0000\u0d89\u0d8b\u0005\u009a\u0000\u0000\u0d8a\u0d87\u0001\u0000"+
56608 "\u0000\u0000\u0d8a\u0d89\u0001\u0000\u0000\u0000\u0d8b\u01ff\u0001\u0000"+
56609 "\u0000\u0000\u0d8c\u0d8d\u0005\u010d\u0000\u0000\u0d8d\u0d95\u0005\u0110"+
56610 "\u0000\u0000\u0d8e\u0d8f\u0005M\u0000\u0000\u0d8f\u0d90\u0005\u019d\u0000"+
56611 "\u0000\u0d90\u0d91\u0005\u0018\u0000\u0000\u0d91\u0d93\u0005\u02d5\u0000"+
56612 "\u0000\u0d92\u0d94\u0005\u0117\u0000\u0000\u0d93\u0d92\u0001\u0000\u0000"+
56613 "\u0000\u0d93\u0d94\u0001\u0000\u0000\u0000\u0d94\u0d96\u0001\u0000\u0000"+
56614 "\u0000\u0d95\u0d8e\u0001\u0000\u0000\u0000\u0d95\u0d96\u0001\u0000\u0000"+
56615 "\u0000\u0d96\u0d98\u0001\u0000\u0000\u0000\u0d97\u0d99\u0003\u0184\u00c2"+
56616 "\u0000\u0d98\u0d97\u0001\u0000\u0000\u0000\u0d98\u0d99\u0001\u0000\u0000"+
56617 "\u0000\u0d99\u0201\u0001\u0000\u0000\u0000\u0d9a\u0d9b\u0005:\u0000\u0000"+
56618 "\u0d9b\u0d9c\u0005\u001f\u0000\u0000\u0d9c\u0d9d\u0005\u01bc\u0000\u0000"+
56619 "\u0d9d\u0d9e\u0005\u0018\u0000\u0000\u0d9e\u0d9f\u00071\u0000\u0000\u0d9f"+
56620 "\u0dad\u0005 \u0000\u0000\u0da0\u0da1\u0005\u01af\u0000\u0000\u0da1\u0da2"+
56621 "\u0005\u0018\u0000\u0000\u0da2\u0dad\u0005a\u0000\u0000\u0da3\u0da4\u0005"+
56622 "\u011c\u0000\u0000\u0da4\u0da5\u0005\u0018\u0000\u0000\u0da5\u0dad\u0007"+
56623 ",\u0000\u0000\u0da6\u0da7\u0005\u01a3\u0000\u0000\u0da7\u0da8\u0005\u0018"+
56624 "\u0000\u0000\u0da8\u0daa\u0005a\u0000\u0000\u0da9\u0dab\u0003\u0204\u0102"+
56625 "\u0000\u0daa\u0da9\u0001\u0000\u0000\u0000\u0daa\u0dab\u0001\u0000\u0000"+
56626 "\u0000\u0dab\u0dad\u0001\u0000\u0000\u0000\u0dac\u0d9a\u0001\u0000\u0000"+
56627 "\u0000\u0dac\u0da0\u0001\u0000\u0000\u0000\u0dac\u0da3\u0001\u0000\u0000"+
56628 "\u0000\u0dac\u0da6\u0001\u0000\u0000\u0000\u0dad\u0203\u0001\u0000\u0000"+
56629 "\u0000\u0dae\u0daf\u0005\u001f\u0000\u0000\u0daf\u0db0\u0005\u01bb\u0000"+
56630 "\u0000\u0db0\u0db1\u0005\u0018\u0000\u0000\u0db1\u0db6\u0003@ \u0000\u0db2"+
56631 "\u0db3\u0005%\u0000\u0000\u0db3\u0db4\u0005\u01a0\u0000\u0000\u0db4\u0db5"+
56632 "\u0005\u0018\u0000\u0000\u0db5\u0db7\u0003\u01de\u00ef\u0000\u0db6\u0db2"+
56633 "\u0001\u0000\u0000\u0000\u0db6\u0db7\u0001\u0000\u0000\u0000\u0db7\u0db8"+
56634 "\u0001\u0000\u0000\u0000\u0db8\u0db9\u0005 \u0000\u0000\u0db9\u0205\u0001"+
56635 "\u0000\u0000\u0000\u0dba\u0dbb\u0005\u01f7\u0000\u0000\u0dbb\u0dbc\u0005"+
56636 "\u0018\u0000\u0000\u0dbc\u0dbe\u00072\u0000\u0000\u0dbd\u0dba\u0001\u0000"+
56637 "\u0000\u0000\u0dbd\u0dbe\u0001\u0000\u0000\u0000\u0dbe\u0dc0\u0001\u0000"+
56638 "\u0000\u0000\u0dbf\u0dc1\u0003\u0208\u0104\u0000\u0dc0\u0dbf\u0001\u0000"+
56639 "\u0000\u0000\u0dc0\u0dc1\u0001\u0000\u0000\u0000\u0dc1\u0dc4\u0001\u0000"+
56640 "\u0000\u0000\u0dc2\u0dc3\u0005\u010f\u0000\u0000\u0dc3\u0dc5\u0003\u00e6"+
56641 "s\u0000\u0dc4\u0dc2\u0001\u0000\u0000\u0000\u0dc4\u0dc5\u0001\u0000\u0000"+
56642 "\u0000\u0dc5\u0dcf\u0001\u0000\u0000\u0000\u0dc6\u0dc7\u0005M\u0000\u0000"+
56643 "\u0dc7\u0dcc\u0003\u020a\u0105\u0000\u0dc8\u0dc9\u0005%\u0000\u0000\u0dc9"+
56644 "\u0dcb\u0003\u020a\u0105\u0000\u0dca\u0dc8\u0001\u0000\u0000\u0000\u0dcb"+
56645 "\u0dce\u0001\u0000\u0000\u0000\u0dcc\u0dca\u0001\u0000\u0000\u0000\u0dcc"+
56646 "\u0dcd\u0001\u0000\u0000\u0000\u0dcd\u0dd0\u0001\u0000\u0000\u0000\u0dce"+
56647 "\u0dcc\u0001\u0000\u0000\u0000\u0dcf\u0dc6\u0001\u0000\u0000\u0000\u0dcf"+
56648 "\u0dd0\u0001\u0000\u0000\u0000\u0dd0\u0207\u0001\u0000\u0000\u0000\u0dd1"+
56649 "\u0dd3\u0005a\u0000\u0000\u0dd2\u0dd4\u0005@\u0000\u0000\u0dd3\u0dd2\u0001"+
56650 "\u0000\u0000\u0000\u0dd3\u0dd4\u0001\u0000\u0000\u0000\u0dd4\u0dd5\u0001"+
56651 "\u0000\u0000\u0000\u0dd5\u0dda\u0003\u020e\u0107\u0000\u0dd6\u0dd7\u0005"+
56652 "%\u0000\u0000\u0dd7\u0dd9\u0003\u020e\u0107\u0000\u0dd8\u0dd6\u0001\u0000"+
56653 "\u0000\u0000\u0dd9\u0ddc\u0001\u0000\u0000\u0000\u0dda\u0dd8\u0001\u0000"+
56654 "\u0000\u0000\u0dda\u0ddb\u0001\u0000\u0000\u0000\u0ddb\u0de1\u0001\u0000"+
56655 "\u0000\u0000\u0ddc\u0dda\u0001\u0000\u0000\u0000\u0ddd\u0dde\u0005%\u0000"+
56656 "\u0000\u0dde\u0de0\u0003\u0212\u0109\u0000\u0ddf\u0ddd\u0001\u0000\u0000"+
56657 "\u0000\u0de0\u0de3\u0001\u0000\u0000\u0000\u0de1\u0ddf\u0001\u0000\u0000"+
56658 "\u0000\u0de1\u0de2\u0001\u0000\u0000\u0000\u0de2\u0de4\u0001\u0000\u0000"+
56659 "\u0000\u0de3\u0de1\u0001\u0000\u0000\u0000\u0de4\u0de5\u0003\u0216\u010b"+
56660 "\u0000\u0de5\u0209\u0001\u0000\u0000\u0000\u0de6\u0de7\u0005\u011f\u0000"+
56661 "\u0000\u0de7\u0dec\u0003\u020c\u0106\u0000\u0de8\u0de9\u0005%\u0000\u0000"+
56662 "\u0de9\u0deb\u0003\u020c\u0106\u0000\u0dea\u0de8\u0001\u0000\u0000\u0000"+
56663 "\u0deb\u0dee\u0001\u0000\u0000\u0000\u0dec\u0dea\u0001\u0000\u0000\u0000"+
56664 "\u0dec\u0ded\u0001\u0000\u0000\u0000\u0ded\u0e09\u0001\u0000\u0000\u0000"+
56665 "\u0dee\u0dec\u0001\u0000\u0000\u0000\u0def\u0df0\u0005\u0291\u0000\u0000"+
56666 "\u0df0\u0df1\u0005\u0018\u0000\u0000\u0df1\u0e09\u0003\u00e6s\u0000\u0df2"+
56667 "\u0df3\u0005\u0292\u0000\u0000\u0df3\u0df4\u0005\u0018\u0000\u0000\u0df4"+
56668 "\u0e09\u0003\u00e6s\u0000\u0df5\u0df6\u0005\u0294\u0000\u0000\u0df6\u0df7"+
56669 "\u0005\u0018\u0000\u0000\u0df7\u0e09\u0007\u0000\u0000\u0000\u0df8\u0df9"+
56670 "\u0005\u0295\u0000\u0000\u0df9\u0dfa\u0005\u0018\u0000\u0000\u0dfa\u0e09"+
56671 "\u0007\u0000\u0000\u0000\u0dfb\u0dfc\u0005\u0296\u0000\u0000\u0dfc\u0dfd"+
56672 "\u0005\u0018\u0000\u0000\u0dfd\u0e09\u0003\u00e6s\u0000\u0dfe\u0dff\u0005"+
56673 "\u0206\u0000\u0000\u0dff\u0e09\u0007\u0000\u0000\u0000\u0e00\u0e01\u0005"+
56674 "\u0207\u0000\u0000\u0e01\u0e09\u0007\u0000\u0000\u0000\u0e02\u0e03\u0005"+
56675 "\u0297\u0000\u0000\u0e03\u0e04\u0005\u0018\u0000\u0000\u0e04\u0e05\u0005"+
56676 "a\u0000\u0000\u0e05\u0e06\u0005\u0298\u0000\u0000\u0e06\u0e07\u0005\u0018"+
56677 "\u0000\u0000\u0e07\u0e09\u0003\u00e6s\u0000\u0e08\u0de6\u0001\u0000\u0000"+
56678 "\u0000\u0e08\u0def\u0001\u0000\u0000\u0000\u0e08\u0df2\u0001\u0000\u0000"+
56679 "\u0000\u0e08\u0df5\u0001\u0000\u0000\u0000\u0e08\u0df8\u0001\u0000\u0000"+
56680 "\u0000\u0e08\u0dfb\u0001\u0000\u0000\u0000\u0e08\u0dfe\u0001\u0000\u0000"+
56681 "\u0000\u0e08\u0e00\u0001\u0000\u0000\u0000\u0e08\u0e02\u0001\u0000\u0000"+
56682 "\u0000\u0e09\u020b\u0001\u0000\u0000\u0000\u0e0a\u0e0b\u0005\u0205\u0000"+
56683 "\u0000\u0e0b\u0e0c\u0005\u0018\u0000\u0000\u0e0c\u0e11\u00073\u0000\u0000"+
56684 "\u0e0d\u0e0e\u0005\u0298\u0000\u0000\u0e0e\u0e0f\u0005\u0018\u0000\u0000"+
56685 "\u0e0f\u0e11\u0003\u00e6s\u0000\u0e10\u0e0a\u0001\u0000\u0000\u0000\u0e10"+
56686 "\u0e0d\u0001\u0000\u0000\u0000\u0e11\u020d\u0001\u0000\u0000\u0000\u0e12"+
56687 "\u0e13\u0005\u001f\u0000\u0000\u0e13\u0e14\u0005\u00aa\u0000\u0000\u0e14"+
56688 "\u0e15\u0005\u0018\u0000\u0000\u0e15\u0e16\u0003\u00e6s\u0000\u0e16\u0e17"+
56689 "\u0005%\u0000\u0000\u0e17\u0e18\u0005\u01f9\u0000\u0000\u0e18\u0e19\u0005"+
56690 "\u0018\u0000\u0000\u0e19\u0e1a\u0005\u02d4\u0000\u0000\u0e1a\u0e1b\u0003"+
56691 "\u0210\u0108\u0000\u0e1b\u0e1c\u0005 \u0000\u0000\u0e1c\u020f\u0001\u0000"+
56692 "\u0000\u0000\u0e1d\u0e1e\u0005%\u0000\u0000\u0e1e\u0e1f\u0005\u01fa\u0000"+
56693 "\u0000\u0e1f\u0e20\u0005\u0018\u0000\u0000\u0e20\u0e22\u0003\u001e\u000f"+
56694 "\u0000\u0e21\u0e23\u00074\u0000\u0000\u0e22\u0e21\u0001\u0000\u0000\u0000"+
56695 "\u0e22\u0e23\u0001\u0000\u0000\u0000\u0e23\u0e25\u0001\u0000\u0000\u0000"+
56696 "\u0e24\u0e1d\u0001\u0000\u0000\u0000\u0e24\u0e25\u0001\u0000\u0000\u0000"+
56697 "\u0e25\u0e30\u0001\u0000\u0000\u0000\u0e26\u0e27\u0005%\u0000\u0000\u0e27"+
56698 "\u0e28\u0005\u01fb\u0000\u0000\u0e28\u0e2e\u0005\u0018\u0000\u0000\u0e29"+
56699 "\u0e2b\u0003\u001e\u000f\u0000\u0e2a\u0e2c\u00074\u0000\u0000\u0e2b\u0e2a"+
56700 "\u0001\u0000\u0000\u0000\u0e2b\u0e2c\u0001\u0000\u0000\u0000\u0e2c\u0e2f"+
56701 "\u0001\u0000\u0000\u0000\u0e2d\u0e2f\u0005\u01fd\u0000\u0000\u0e2e\u0e29"+
56702 "\u0001\u0000\u0000\u0000\u0e2e\u0e2d\u0001\u0000\u0000\u0000\u0e2f\u0e31"+
56703 "\u0001\u0000\u0000\u0000\u0e30\u0e26\u0001\u0000\u0000\u0000\u0e30\u0e31"+
56704 "\u0001\u0000\u0000\u0000\u0e31\u0e39\u0001\u0000\u0000\u0000\u0e32\u0e33"+
56705 "\u0005%\u0000\u0000\u0e33\u0e34\u0005\u01fc\u0000\u0000\u0e34\u0e35\u0005"+
56706 "\u0018\u0000\u0000\u0e35\u0e37\u0003\u001e\u000f\u0000\u0e36\u0e38\u0007"+
56707 "5\u0000\u0000\u0e37\u0e36\u0001\u0000\u0000\u0000\u0e37\u0e38\u0001\u0000"+
56708 "\u0000\u0000\u0e38\u0e3a\u0001\u0000\u0000\u0000\u0e39\u0e32\u0001\u0000"+
56709 "\u0000\u0000\u0e39\u0e3a\u0001\u0000\u0000\u0000\u0e3a\u0211\u0001\u0000"+
56710 "\u0000\u0000\u0e3b\u0e3c\u0005\u0204\u0000\u0000\u0e3c\u0e3e\u0003\u00e6"+
56711 "s\u0000\u0e3d\u0e3f\u0003\u0214\u010a\u0000\u0e3e\u0e3d\u0001\u0000\u0000"+
56712 "\u0000\u0e3e\u0e3f\u0001\u0000\u0000\u0000\u0e3f\u0e40\u0001\u0000\u0000"+
56713 "\u0000\u0e40\u0e45\u0003\u020e\u0107\u0000\u0e41\u0e42\u0005%\u0000\u0000"+
56714 "\u0e42\u0e44\u0003\u020e\u0107\u0000\u0e43\u0e41\u0001\u0000\u0000\u0000"+
56715 "\u0e44\u0e47\u0001\u0000\u0000\u0000\u0e45\u0e43\u0001\u0000\u0000\u0000"+
56716 "\u0e45\u0e46\u0001\u0000\u0000\u0000\u0e46\u0213\u0001\u0000\u0000\u0000"+
56717 "\u0e47\u0e45\u0001\u0000\u0000\u0000\u0e48\u0e49\u0005\u0202\u0000\u0000"+
56718 "\u0e49\u0e4b\u0005\u011f\u0000\u0000\u0e4a\u0e48\u0001\u0000\u0000\u0000"+
56719 "\u0e4a\u0e4b\u0001\u0000\u0000\u0000\u0e4b\u0e4d\u0001\u0000\u0000\u0000"+
56720 "\u0e4c\u0e4e\u0005\u009a\u0000\u0000\u0e4d\u0e4c\u0001\u0000\u0000\u0000"+
56721 "\u0e4d\u0e4e\u0001\u0000\u0000\u0000\u0e4e\u0e52\u0001\u0000\u0000\u0000"+
56722 "\u0e4f\u0e50\u0005\u0202\u0000\u0000\u0e50\u0e52\u0005\u0203\u0000\u0000"+
56723 "\u0e51\u0e4a\u0001\u0000\u0000\u0000\u0e51\u0e4f\u0001\u0000\u0000\u0000"+
56724 "\u0e52\u0215\u0001\u0000\u0000\u0000\u0e53\u0e54\u0005\u018e\u0000\u0000"+
56725 "\u0e54\u0e55\u0005a\u0000\u0000\u0e55\u0e5a\u0003\u020e\u0107\u0000\u0e56"+
56726 "\u0e57\u0005%\u0000\u0000\u0e57\u0e59\u0003\u020e\u0107\u0000\u0e58\u0e56"+
56727 "\u0001\u0000\u0000\u0000\u0e59\u0e5c\u0001\u0000\u0000\u0000\u0e5a\u0e58"+
56728 "\u0001\u0000\u0000\u0000\u0e5a\u0e5b\u0001\u0000\u0000\u0000\u0e5b\u0e5e"+
56729 "\u0001\u0000\u0000\u0000\u0e5c\u0e5a\u0001\u0000\u0000\u0000\u0e5d\u0e53"+
56730 "\u0001\u0000\u0000\u0000\u0e5d\u0e5e\u0001\u0000\u0000\u0000\u0e5e\u0217"+
56731 "\u0001\u0000\u0000\u0000\u0e5f\u0e69\u0005\u00cd\u0000\u0000\u0e60\u0e65"+
56732 "\u0003\u021a\u010d\u0000\u0e61\u0e62\u0005%\u0000\u0000\u0e62\u0e64\u0003"+
56733 "\u021a\u010d\u0000\u0e63\u0e61\u0001\u0000\u0000\u0000\u0e64\u0e67\u0001"+
56734 "\u0000\u0000\u0000\u0e65\u0e63\u0001\u0000\u0000\u0000\u0e65\u0e66\u0001"+
56735 "\u0000\u0000\u0000\u0e66\u0e6a\u0001\u0000\u0000\u0000\u0e67\u0e65\u0001"+
56736 "\u0000\u0000\u0000\u0e68\u0e6a\u0003\u021c\u010e\u0000\u0e69\u0e60\u0001"+
56737 "\u0000\u0000\u0000\u0e69\u0e68\u0001\u0000\u0000\u0000\u0e6a\u0219\u0001"+
56738 "\u0000\u0000\u0000\u0e6b\u0e6d\u0003\u00ecv\u0000\u0e6c\u0e6e\u0005`\u0000"+
56739 "\u0000\u0e6d\u0e6c\u0001\u0000\u0000\u0000\u0e6d\u0e6e\u0001\u0000\u0000"+
56740 "\u0000\u0e6e\u0e6f\u0001\u0000\u0000\u0000\u0e6f\u0e72\u0003\u00aeW\u0000"+
56741 "\u0e70\u0e71\u0005\u0018\u0000\u0000\u0e71\u0e73\u0003t:\u0000\u0e72\u0e70"+
56742 "\u0001\u0000\u0000\u0000\u0e72\u0e73\u0001\u0000\u0000\u0000\u0e73\u0e78"+
56743 "\u0001\u0000\u0000\u0000\u0e74\u0e75\u0003\u00ecv\u0000\u0e75\u0e76\u0005"+
56744 "\u00ce\u0000\u0000\u0e76\u0e78\u0001\u0000\u0000\u0000\u0e77\u0e6b\u0001"+
56745 "\u0000\u0000\u0000\u0e77\u0e74\u0001\u0000\u0000\u0000\u0e78\u021b\u0001"+
56746 "\u0000\u0000\u0000\u0e79\u0e7b\u0003\u00ecv\u0000\u0e7a\u0e7c\u0005`\u0000"+
56747 "\u0000\u0e7b\u0e7a\u0001\u0000\u0000\u0000\u0e7b\u0e7c\u0001\u0000\u0000"+
56748 "\u0000\u0e7c\u0e7d\u0001\u0000\u0000\u0000\u0e7d\u0e7e\u0003\u021e\u010f"+
56749 "\u0000\u0e7e\u021d\u0001\u0000\u0000\u0000\u0e7f\u0e80\u0005;\u0000\u0000"+
56750 "\u0e80\u0e81\u0005\u001f\u0000\u0000\u0e81\u0e86\u0003\u0220\u0110\u0000"+
56751 "\u0e82\u0e83\u0005%\u0000\u0000\u0e83\u0e85\u0003\u0220\u0110\u0000\u0e84"+
56752 "\u0e82\u0001\u0000\u0000\u0000\u0e85\u0e88\u0001\u0000\u0000\u0000\u0e86"+
56753 "\u0e84\u0001\u0000\u0000\u0000\u0e86\u0e87\u0001\u0000\u0000\u0000\u0e87"+
56754 "\u0e89\u0001\u0000\u0000\u0000\u0e88\u0e86\u0001\u0000\u0000\u0000\u0e89"+
56755 "\u0e8a\u0005 \u0000\u0000\u0e8a\u021f\u0001\u0000\u0000\u0000\u0e8b\u0e8e"+
56756 "\u0003\u0222\u0111\u0000\u0e8c\u0e8e\u0003\u0226\u0113\u0000\u0e8d\u0e8b"+
56757 "\u0001\u0000\u0000\u0000\u0e8d\u0e8c\u0001\u0000\u0000\u0000\u0e8e\u0221"+
56758 "\u0001\u0000\u0000\u0000\u0e8f\u0e93\u0003H$\u0000\u0e90\u0e94\u0003\u00b0"+
56759 "X\u0000\u0e91\u0e92\u0005`\u0000\u0000\u0e92\u0e94\u0003b1\u0000\u0e93"+
56760 "\u0e90\u0001\u0000\u0000\u0000\u0e93\u0e91\u0001\u0000\u0000\u0000\u0e94"+
56761 "\u0e97\u0001\u0000\u0000\u0000\u0e95\u0e96\u0005\u010f\u0000\u0000\u0e96"+
56762 "\u0e98\u0003Z-\u0000\u0e97\u0e95\u0001\u0000\u0000\u0000\u0e97\u0e98\u0001"+
56763 "\u0000\u0000\u0000\u0e98\u0ea5\u0001\u0000\u0000\u0000\u0e99\u0e9a\u0005"+
56764 "\u009a\u0000\u0000\u0e9a\u0e9c\u0003b1\u0000\u0e9b\u0e99\u0001\u0000\u0000"+
56765 "\u0000\u0e9b\u0e9c\u0001\u0000\u0000\u0000\u0e9c\u0ea6\u0001\u0000\u0000"+
56766 "\u0000\u0e9d\u0ea3\u0005\u0125\u0000\u0000\u0e9e\u0e9f\u0005\u001f\u0000"+
56767 "\u0000\u0e9f\u0ea0\u0005\u02d5\u0000\u0000\u0ea0\u0ea1\u0005%\u0000\u0000"+
56768 "\u0ea1\u0ea2\u0005\u02d5\u0000\u0000\u0ea2\u0ea4\u0005 \u0000\u0000\u0ea3"+
56769 "\u0e9e\u0001\u0000\u0000\u0000\u0ea3\u0ea4\u0001\u0000\u0000\u0000\u0ea4"+
56770 "\u0ea6\u0001\u0000\u0000\u0000\u0ea5\u0e9b\u0001\u0000\u0000\u0000\u0ea5"+
56771 "\u0e9d\u0001\u0000\u0000\u0000\u0ea6\u0ea8\u0001\u0000\u0000\u0000\u0ea7"+
56772 "\u0ea9\u0005\u013e\u0000\u0000\u0ea8\u0ea7\u0001\u0000\u0000\u0000\u0ea8"+
56773 "\u0ea9\u0001\u0000\u0000\u0000\u0ea9\u0eaa\u0001\u0000\u0000\u0000\u0eaa"+
56774 "\u0eab\u0003\u0224\u0112\u0000\u0eab\u0223\u0001\u0000\u0000\u0000\u0eac"+
56775 "\u0eb0\u0005l\u0000\u0000\u0ead\u0eae\u0005k\u0000\u0000\u0eae\u0eb0\u0005"+
56776 "l\u0000\u0000\u0eaf\u0eac\u0001\u0000\u0000\u0000\u0eaf\u0ead\u0001\u0000"+
56777 "\u0000\u0000\u0eaf\u0eb0\u0001\u0000\u0000\u0000\u0eb0\u0ebe\u0001\u0000"+
56778 "\u0000\u0000\u0eb1\u0eb2\u0005@\u0000\u0000\u0eb2\u0eb5\u0005C\u0000\u0000"+
56779 "\u0eb3\u0eb5\u0005A\u0000\u0000\u0eb4\u0eb1\u0001\u0000\u0000\u0000\u0eb4"+
56780 "\u0eb3\u0001\u0000\u0000\u0000\u0eb4\u0eb5\u0001\u0000\u0000\u0000\u0eb5"+
56781 "\u0ebe\u0001\u0000\u0000\u0000\u0eb6\u0eb7\u0005\u00ff\u0000\u0000\u0eb7"+
56782 "\u0eb8\u0005\u001f\u0000\u0000\u0eb8\u0eb9\u0003b1\u0000\u0eb9\u0eba\u0005"+
56783 " \u0000\u0000\u0eba\u0ebe\u0001\u0000\u0000\u0000\u0ebb\u0ebc\u0005M\u0000"+
56784 "\u0000\u0ebc\u0ebe\u0003\u00ceg\u0000\u0ebd\u0eaf\u0001\u0000\u0000\u0000"+
56785 "\u0ebd\u0eb4\u0001\u0000\u0000\u0000\u0ebd\u0eb6\u0001\u0000\u0000\u0000"+
56786 "\u0ebd\u0ebb\u0001\u0000\u0000\u0000\u0ebe\u0225\u0001\u0000\u0000\u0000"+
56787 "\u0ebf\u0ec0\u0005@\u0000\u0000\u0ec0\u0ec3\u0005C\u0000\u0000\u0ec1\u0ec3"+
56788 "\u0005A\u0000\u0000\u0ec2\u0ebf\u0001\u0000\u0000\u0000\u0ec2\u0ec1\u0001"+
56789 "\u0000\u0000\u0000\u0ec3\u0ec4\u0001\u0000\u0000\u0000\u0ec4\u0ec5\u0005"+
56790 "\u001f\u0000\u0000\u0ec5\u0eca\u0003H$\u0000\u0ec6\u0ec7\u0005%\u0000"+
56791 "\u0000\u0ec7\u0ec9\u0003H$\u0000\u0ec8\u0ec6\u0001\u0000\u0000\u0000\u0ec9"+
56792 "\u0ecc\u0001\u0000\u0000\u0000\u0eca\u0ec8\u0001\u0000\u0000\u0000\u0eca"+
56793 "\u0ecb\u0001\u0000\u0000\u0000\u0ecb\u0ecd\u0001\u0000\u0000\u0000\u0ecc"+
56794 "\u0eca\u0001\u0000\u0000\u0000\u0ecd\u0ece\u0005 \u0000\u0000\u0ece\u0ed2"+
56795 "\u0001\u0000\u0000\u0000\u0ecf\u0ed0\u0005\u00ff\u0000\u0000\u0ed0\u0ed2"+
56796 "\u0003b1\u0000\u0ed1\u0ec2\u0001\u0000\u0000\u0000\u0ed1\u0ecf\u0001\u0000"+
56797 "\u0000\u0000\u0ed2\u0227\u0001\u0000\u0000\u0000\u0ed3\u0ed4\u0005:\u0000"+
56798 "\u0000\u0ed4\u0ed5\u0003\u00ecv\u0000\u0ed5\u0ed6\u0003\u022a\u0115\u0000"+
56799 "\u0ed6\u0229\u0001\u0000\u0000\u0000\u0ed7\u0ed8\u0005\u0014\u0000\u0000"+
56800 "\u0ed8\u0eda\u0003*\u0015\u0000\u0ed9\u0ed7\u0001\u0000\u0000\u0000\u0ed9"+
56801 "\u0eda\u0001\u0000\u0000\u0000\u0eda\u0edb\u0001\u0000\u0000\u0000\u0edb"+
56802 "\u0ee2\u0005\u0018\u0000\u0000\u0edc\u0ee3\u0003b1\u0000\u0edd\u0ede\u0003"+
56803 "*\u0015\u0000\u0ede\u0edf\u0005\u0014\u0000\u0000\u0edf\u0ee0\u0003*\u0015"+
56804 "\u0000\u0ee0\u0ee3\u0001\u0000\u0000\u0000\u0ee1\u0ee3\u0005\u02db\u0000"+
56805 "\u0000\u0ee2\u0edc\u0001\u0000\u0000\u0000\u0ee2\u0edd\u0001\u0000\u0000"+
56806 "\u0000\u0ee2\u0ee1\u0001\u0000\u0000\u0000\u0ee3\u0eef\u0001\u0000\u0000"+
56807 "\u0000\u0ee4\u0ee5\u0003\u0230\u0118\u0000\u0ee5\u0ee6\u0003b1\u0000\u0ee6"+
56808 "\u0eef\u0001\u0000\u0000\u0000\u0ee7\u0ee8\u0005\u0018\u0000\u0000\u0ee8"+
56809 "\u0eef\u0003\u022c\u0116\u0000\u0ee9\u0eea\u0005\u0018\u0000\u0000\u0eea"+
56810 "\u0eeb\u0005\u001f\u0000\u0000\u0eeb\u0eec\u0003\u02de\u016f\u0000\u0eec"+
56811 "\u0eed\u0005 \u0000\u0000\u0eed\u0eef\u0001\u0000\u0000\u0000\u0eee\u0ed9"+
56812 "\u0001\u0000\u0000\u0000\u0eee\u0ee4\u0001\u0000\u0000\u0000\u0eee\u0ee7"+
56813 "\u0001\u0000\u0000\u0000\u0eee\u0ee9\u0001\u0000\u0000\u0000\u0eef\u022b"+
56814 "\u0001\u0000\u0000\u0000\u0ef0\u0f04\u0003\u00ecv\u0000\u0ef1\u0ef2\u0005"+
56815 "\u00ce\u0000\u0000\u0ef2\u0ef3\u0003\u022e\u0117\u0000\u0ef3\u0ef4\u0005"+
56816 "f\u0000\u0000\u0ef4\u0ef5\u0003\u02de\u016f\u0000\u0ef5\u0f01\u0005f\u0000"+
56817 "\u0000\u0ef6\u0f02\u0005\u00cb\u0000\u0000\u0ef7\u0ef8\u00050\u0000\u0000"+
56818 "\u0ef8\u0ef9\u0005\u00cf\u0000\u0000\u0ef9\u0efe\u0003N\'\u0000\u0efa"+
56819 "\u0efb\u0005%\u0000\u0000\u0efb\u0efd\u0003N\'\u0000\u0efc\u0efa\u0001"+
56820 "\u0000\u0000\u0000\u0efd\u0f00\u0001\u0000\u0000\u0000\u0efe\u0efc\u0001"+
56821 "\u0000\u0000\u0000\u0efe\u0eff\u0001\u0000\u0000\u0000\u0eff\u0f02\u0001"+
56822 "\u0000\u0000\u0000\u0f00\u0efe\u0001\u0000\u0000\u0000\u0f01\u0ef6\u0001"+
56823 "\u0000\u0000\u0000\u0f01\u0ef7\u0001\u0000\u0000\u0000\u0f02\u0f04\u0001"+
56824 "\u0000\u0000\u0000\u0f03\u0ef0\u0001\u0000\u0000\u0000\u0f03\u0ef1\u0001"+
56825 "\u0000\u0000\u0000\u0f04\u022d\u0001\u0000\u0000\u0000\u0f05\u0f07\u0007"+
56826 "6\u0000\u0000\u0f06\u0f05\u0001\u0000\u0000\u0000\u0f06\u0f07\u0001\u0000"+
56827 "\u0000\u0000\u0f07\u0f09\u0001\u0000\u0000\u0000\u0f08\u0f0a\u00077\u0000"+
56828 "\u0000\u0f09\u0f08\u0001\u0000\u0000\u0000\u0f09\u0f0a\u0001\u0000\u0000"+
56829 "\u0000\u0f0a\u0f0c\u0001\u0000\u0000\u0000\u0f0b\u0f0d\u00078\u0000\u0000"+
56830 "\u0f0c\u0f0b\u0001\u0000\u0000\u0000\u0f0c\u0f0d\u0001\u0000\u0000\u0000"+
56831 "\u0f0d\u0f0f\u0001\u0000\u0000\u0000\u0f0e\u0f10\u0005\u0210\u0000\u0000"+
56832 "\u0f0f\u0f0e\u0001\u0000\u0000\u0000\u0f0f\u0f10\u0001\u0000\u0000\u0000"+
56833 "\u0f10\u022f\u0001\u0000\u0000\u0000\u0f11\u0f12\u0005\u000f\u0000\u0000"+
56834 "\u0f12\u0f22\u0005\u0018\u0000\u0000\u0f13\u0f14\u0005\u0010\u0000\u0000"+
56835 "\u0f14\u0f22\u0005\u0018\u0000\u0000\u0f15\u0f16\u0005\u0011\u0000\u0000"+
56836 "\u0f16\u0f22\u0005\u0018\u0000\u0000\u0f17\u0f18\u0005\u0012\u0000\u0000"+
56837 "\u0f18\u0f22\u0005\u0018\u0000\u0000\u0f19\u0f1a\u0005\r\u0000\u0000\u0f1a"+
56838 "\u0f22\u0005\u0018\u0000\u0000\u0f1b\u0f1c\u0005\t\u0000\u0000\u0f1c\u0f22"+
56839 "\u0005\u0018\u0000\u0000\u0f1d\u0f1e\u0005\f\u0000\u0000\u0f1e\u0f22\u0005"+
56840 "\u0018\u0000\u0000\u0f1f\u0f20\u0005\b\u0000\u0000\u0f20\u0f22\u0005\u0018"+
56841 "\u0000\u0000\u0f21\u0f11\u0001\u0000\u0000\u0000\u0f21\u0f13\u0001\u0000"+
56842 "\u0000\u0000\u0f21\u0f15\u0001\u0000\u0000\u0000\u0f21\u0f17\u0001\u0000"+
56843 "\u0000\u0000\u0f21\u0f19\u0001\u0000\u0000\u0000\u0f21\u0f1b\u0001\u0000"+
56844 "\u0000\u0000\u0f21\u0f1d\u0001\u0000\u0000\u0000\u0f21\u0f1f\u0001\u0000"+
56845 "\u0000\u0000\u0f22\u0231\u0001\u0000\u0000\u0000\u0f23\u0f37\u0005\u001f"+
56846 "\u0000\u0000\u0f24\u0f26\u0003\u00ecv\u0000\u0f25\u0f27\u0005`\u0000\u0000"+
56847 "\u0f26\u0f25\u0001\u0000\u0000\u0000\u0f26\u0f27\u0001\u0000\u0000\u0000"+
56848 "\u0f27\u0f2b\u0001\u0000\u0000\u0000\u0f28\u0f29\u0003L&\u0000\u0f29\u0f2a"+
56849 "\u0005\u0014\u0000\u0000\u0f2a\u0f2c\u0001\u0000\u0000\u0000\u0f2b\u0f28"+
56850 "\u0001\u0000\u0000\u0000\u0f2b\u0f2c\u0001\u0000\u0000\u0000\u0f2c\u0f2d"+
56851 "\u0001\u0000\u0000\u0000\u0f2d\u0f30\u0003\u00aeW\u0000\u0f2e\u0f2f\u0005"+
56852 "\u0018\u0000\u0000\u0f2f\u0f31\u0003\u00e6s\u0000\u0f30\u0f2e\u0001\u0000"+
56853 "\u0000\u0000\u0f30\u0f31\u0001\u0000\u0000\u0000\u0f31\u0f33\u0001\u0000"+
56854 "\u0000\u0000\u0f32\u0f34\u0005\u00d3\u0000\u0000\u0f33\u0f32\u0001\u0000"+
56855 "\u0000\u0000\u0f33\u0f34\u0001\u0000\u0000\u0000\u0f34\u0f36\u0001\u0000"+
56856 "\u0000\u0000\u0f35\u0f24\u0001\u0000\u0000\u0000\u0f36\u0f39\u0001\u0000"+
56857 "\u0000\u0000\u0f37\u0f35\u0001\u0000\u0000\u0000\u0f37\u0f38\u0001\u0000"+
56858 "\u0000\u0000\u0f38\u0f3a\u0001\u0000\u0000\u0000\u0f39\u0f37\u0001\u0000"+
56859 "\u0000\u0000\u0f3a\u0f3b\u0005 \u0000\u0000\u0f3b\u0233\u0001\u0000\u0000"+
56860 "\u0000\u0f3c\u0f40\u0003\u023a\u011d\u0000\u0f3d\u0f40\u0003\u0238\u011c"+
56861 "\u0000\u0f3e\u0f40\u0003\u0236\u011b\u0000\u0f3f\u0f3c\u0001\u0000\u0000"+
56862 "\u0000\u0f3f\u0f3d\u0001\u0000\u0000\u0000\u0f3f\u0f3e\u0001\u0000\u0000"+
56863 "\u0000\u0f40\u0235\u0001\u0000\u0000\u0000\u0f41\u0f42\u0005\u00d0\u0000"+
56864 "\u0000\u0f42\u0f43\u0003\u00ecv\u0000\u0f43\u0f44\u0005;\u0000\u0000\u0f44"+
56865 "\u0f4e\u0003\u0152\u00a9\u0000\u0f45\u0f46\u0005M\u0000\u0000\u0f46\u0f4b"+
56866 "\u0003\u0240\u0120\u0000\u0f47\u0f48\u0005%\u0000\u0000\u0f48\u0f4a\u0003"+
56867 "\u0240\u0120\u0000\u0f49\u0f47\u0001\u0000\u0000\u0000\u0f4a\u0f4d\u0001"+
56868 "\u0000\u0000\u0000\u0f4b\u0f49\u0001\u0000\u0000\u0000\u0f4b\u0f4c\u0001"+
56869 "\u0000\u0000\u0000\u0f4c\u0f4f\u0001\u0000\u0000\u0000\u0f4d\u0f4b\u0001"+
56870 "\u0000\u0000\u0000\u0f4e\u0f45\u0001\u0000\u0000\u0000\u0f4e\u0f4f\u0001"+
56871 "\u0000\u0000\u0000\u0f4f\u0f51\u0001\u0000\u0000\u0000\u0f50\u0f52\u0005"+
56872 "`\u0000\u0000\u0f51\u0f50\u0001\u0000\u0000\u0000\u0f51\u0f52\u0001\u0000"+
56873 "\u0000\u0000\u0f52\u0f53\u0001\u0000\u0000\u0000\u0f53\u0f54\u0005}\u0000"+
56874 "\u0000\u0f54\u0f55\u0003\u023e\u011f\u0000\u0f55\u0f56\u0005\u00d2\u0000"+
56875 "\u0000\u0f56\u0f57\u0005\u011e\u0000\u0000\u0f57\u0237\u0001\u0000\u0000"+
56876 "\u0000\u0f58\u0f59\u0005\u00d0\u0000\u0000\u0f59\u0f63\u0005;\u0000\u0000"+
56877 "\u0f5a\u0f5b\u0005M\u0000\u0000\u0f5b\u0f60\u0003\u0240\u0120\u0000\u0f5c"+
56878 "\u0f5d\u0005%\u0000\u0000\u0f5d\u0f5f\u0003\u0240\u0120\u0000\u0f5e\u0f5c"+
56879 "\u0001\u0000\u0000\u0000\u0f5f\u0f62\u0001\u0000\u0000\u0000\u0f60\u0f5e"+
56880 "\u0001\u0000\u0000\u0000\u0f60\u0f61\u0001\u0000\u0000\u0000\u0f61\u0f64"+
56881 "\u0001\u0000\u0000\u0000\u0f62\u0f60\u0001\u0000\u0000\u0000\u0f63\u0f5a"+
56882 "\u0001\u0000\u0000\u0000\u0f63\u0f64\u0001\u0000\u0000\u0000\u0f64\u0f66"+
56883 "\u0001\u0000\u0000\u0000\u0f65\u0f67\u0005`\u0000\u0000\u0f66\u0f65\u0001"+
56884 "\u0000\u0000\u0000\u0f66\u0f67\u0001\u0000\u0000\u0000\u0f67\u0f68\u0001"+
56885 "\u0000\u0000\u0000\u0f68\u0f6a\u0005\u00d2\u0000\u0000\u0f69\u0f6b\u0005"+
56886 "\u001f\u0000\u0000\u0f6a\u0f69\u0001\u0000\u0000\u0000\u0f6a\u0f6b\u0001"+
56887 "\u0000\u0000\u0000\u0f6b\u0f6c\u0001\u0000\u0000\u0000\u0f6c\u0f6e\u0003"+
56888 "\u02de\u016f\u0000\u0f6d\u0f6f\u0005 \u0000\u0000\u0f6e\u0f6d\u0001\u0000"+
56889 "\u0000\u0000\u0f6e\u0f6f\u0001\u0000\u0000\u0000\u0f6f\u0239\u0001\u0000"+
56890 "\u0000\u0000\u0f70\u0f71\u0005\u00d0\u0000\u0000\u0f71\u0f7b\u0003\u00ae"+
56891 "W\u0000\u0f72\u0f73\u0005M\u0000\u0000\u0f73\u0f78\u0003\u0240\u0120\u0000"+
56892 "\u0f74\u0f75\u0005%\u0000\u0000\u0f75\u0f77\u0003\u0240\u0120\u0000\u0f76"+
56893 "\u0f74\u0001\u0000\u0000\u0000\u0f77\u0f7a\u0001\u0000\u0000\u0000\u0f78"+
56894 "\u0f76\u0001\u0000\u0000\u0000\u0f78\u0f79\u0001\u0000\u0000\u0000\u0f79"+
56895 "\u0f7c\u0001\u0000\u0000\u0000\u0f7a\u0f78\u0001\u0000\u0000\u0000\u0f7b"+
56896 "\u0f72\u0001\u0000\u0000\u0000\u0f7b\u0f7c\u0001\u0000\u0000\u0000\u0f7c"+
56897 "\u0f7e\u0001\u0000\u0000\u0000\u0f7d\u0f7f\u0005`\u0000\u0000\u0f7e\u0f7d"+
56898 "\u0001\u0000\u0000\u0000\u0f7e\u0f7f\u0001\u0000\u0000\u0000\u0f7f\u0f80"+
56899 "\u0001\u0000\u0000\u0000\u0f80\u0f81\u0005}\u0000\u0000\u0f81\u0f82\u0003"+
56900 "\u023e\u011f\u0000\u0f82\u0f83\u0005\u00d2\u0000\u0000\u0f83\u0f84\u0003"+
56901 "b1\u0000\u0f84\u023b\u0001\u0000\u0000\u0000\u0f85\u0f86\u0003\u0156\u00ab"+
56902 "\u0000\u0f86\u0f87\u0003\u015c\u00ae\u0000\u0f87\u0f8a\u0001\u0000\u0000"+
56903 "\u0000\u0f88\u0f8a\u0003\u018c\u00c6\u0000\u0f89\u0f85\u0001\u0000\u0000"+
56904 "\u0000\u0f89\u0f88\u0001\u0000\u0000\u0000\u0f8a\u0f8e\u0001\u0000\u0000"+
56905 "\u0000\u0f8b\u0f8d\u0003\u0190\u00c8\u0000\u0f8c\u0f8b\u0001\u0000\u0000"+
56906 "\u0000\u0f8d\u0f90\u0001\u0000\u0000\u0000\u0f8e\u0f8c\u0001\u0000\u0000"+
56907 "\u0000\u0f8e\u0f8f\u0001\u0000\u0000\u0000\u0f8f\u023d\u0001\u0000\u0000"+
56908 "\u0000\u0f90\u0f8e\u0001\u0000\u0000\u0000\u0f91\u0f93\u0003\u0242\u0121"+
56909 "\u0000\u0f92\u0f91\u0001\u0000\u0000\u0000\u0f93\u0f96\u0001\u0000\u0000"+
56910 "\u0000\u0f94\u0f92\u0001\u0000\u0000\u0000\u0f94\u0f95\u0001\u0000\u0000"+
56911 "\u0000\u0f95\u023f\u0001\u0000\u0000\u0000\u0f96\u0f94\u0001\u0000\u0000"+
56912 "\u0000\u0f97\u0f99\u0005\u0176\u0000\u0000\u0f98\u0f97\u0001\u0000\u0000"+
56913 "\u0000\u0f98\u0f99\u0001\u0000\u0000\u0000\u0f99\u0fb1\u0001\u0000\u0000"+
56914 "\u0000\u0f9a\u0f9c\u0005\u0211\u0000\u0000\u0f9b\u0f9a\u0001\u0000\u0000"+
56915 "\u0000\u0f9b\u0f9c\u0001\u0000\u0000\u0000\u0f9c\u0fb1\u0001\u0000\u0000"+
56916 "\u0000\u0f9d\u0f9e\u0005\u00d0\u0000\u0000\u0f9e\u0f9f\u0005l\u0000\u0000"+
56917 "\u0f9f\u0fa0\u0005a\u0000\u0000\u0fa0\u0fa1\u0005l\u0000\u0000\u0fa1\u0fa7"+
56918 "\u0005\u0213\u0000\u0000\u0fa2\u0fa3\u0005\u0214\u0000\u0000\u0fa3\u0fa4"+
56919 "\u0005a\u0000\u0000\u0fa4\u0fa5\u0005l\u0000\u0000\u0fa5\u0fa7\u0005\u0213"+
56920 "\u0000\u0000\u0fa6\u0f9d\u0001\u0000\u0000\u0000\u0fa6\u0fa2\u0001\u0000"+
56921 "\u0000\u0000\u0fa6\u0fa7\u0001\u0000\u0000\u0000\u0fa7\u0fb1\u0001\u0000"+
56922 "\u0000\u0000\u0fa8\u0faa\u0003\u00eew\u0000\u0fa9\u0fa8\u0001\u0000\u0000"+
56923 "\u0000\u0fa9\u0faa\u0001\u0000\u0000\u0000\u0faa\u0fb1\u0001\u0000\u0000"+
56924 "\u0000\u0fab\u0fac\u0005\u0293\u0000\u0000\u0fac\u0fad\u0005\u0018\u0000"+
56925 "\u0000\u0fad\u0faf\u0007\u0000\u0000\u0000\u0fae\u0fab\u0001\u0000\u0000"+
56926 "\u0000\u0fae\u0faf\u0001\u0000\u0000\u0000\u0faf\u0fb1\u0001\u0000\u0000"+
56927 "\u0000\u0fb0\u0f98\u0001\u0000\u0000\u0000\u0fb0\u0f9b\u0001\u0000\u0000"+
56928 "\u0000\u0fb0\u0fa6\u0001\u0000\u0000\u0000\u0fb0\u0fa9\u0001\u0000\u0000"+
56929 "\u0000\u0fb0\u0fae\u0001\u0000\u0000\u0000\u0fb1\u0241\u0001\u0000\u0000"+
56930 "\u0000\u0fb2\u0fbd\u0003\u0104\u0082\u0000\u0fb3\u0fbd\u0003\u011a\u008d"+
56931 "\u0000\u0fb4\u0fbd\u0003\u012e\u0097\u0000\u0fb5\u0fbd\u0003\u0142\u00a1"+
56932 "\u0000\u0fb6\u0fbd\u0003\u02bc\u015e\u0000\u0fb7\u0fbd\u0003\u02ca\u0165"+
56933 "\u0000\u0fb8\u0fbd\u0003\u02d4\u016a\u0000\u0fb9\u0fbd\u0003\u02de\u016f"+
56934 "\u0000\u0fba\u0fbd\u0003\u0228\u0114\u0000\u0fbb\u0fbd\u0003\u0218\u010c"+
56935 "\u0000\u0fbc\u0fb2\u0001\u0000\u0000\u0000\u0fbc\u0fb3\u0001\u0000\u0000"+
56936 "\u0000\u0fbc\u0fb4\u0001\u0000\u0000\u0000\u0fbc\u0fb5\u0001\u0000\u0000"+
56937 "\u0000\u0fbc\u0fb6\u0001\u0000\u0000\u0000\u0fbc\u0fb7\u0001\u0000\u0000"+
56938 "\u0000\u0fbc\u0fb8\u0001\u0000\u0000\u0000\u0fbc\u0fb9\u0001\u0000\u0000"+
56939 "\u0000\u0fbc\u0fba\u0001\u0000\u0000\u0000\u0fbc\u0fbb\u0001\u0000\u0000"+
56940 "\u0000\u0fbd\u0fbf\u0001\u0000\u0000\u0000\u0fbe\u0fc0\u0005+\u0000\u0000"+
56941 "\u0fbf\u0fbe\u0001\u0000\u0000\u0000\u0fbf\u0fc0\u0001\u0000\u0000\u0000"+
56942 "\u0fc0\u0243\u0001\u0000\u0000\u0000\u0fc1\u0fc6\u0003\u0246\u0123\u0000"+
56943 "\u0fc2\u0fc3\u0005%\u0000\u0000\u0fc3\u0fc5\u0003\u0246\u0123\u0000\u0fc4"+
56944 "\u0fc2\u0001\u0000\u0000\u0000\u0fc5\u0fc8\u0001\u0000\u0000\u0000\u0fc6"+
56945 "\u0fc4\u0001\u0000\u0000\u0000\u0fc6\u0fc7\u0001\u0000\u0000\u0000\u0fc7"+
56946 "\u0fca\u0001\u0000\u0000\u0000\u0fc8\u0fc6\u0001\u0000\u0000\u0000\u0fc9"+
56947 "\u0fc1\u0001\u0000\u0000\u0000\u0fc9\u0fca\u0001\u0000\u0000\u0000\u0fca"+
56948 "\u0245\u0001\u0000\u0000\u0000\u0fcb\u0fcd\u0003\u021a\u010d\u0000\u0fcc"+
56949 "\u0fce\u0005\u0215\u0000\u0000\u0fcd\u0fcc\u0001\u0000\u0000\u0000\u0fcd"+
56950 "\u0fce\u0001\u0000\u0000\u0000\u0fce\u0fd1\u0001\u0000\u0000\u0000\u0fcf"+
56951 "\u0fd0\u0005\u0018\u0000\u0000\u0fd0\u0fd2\u0003\u001a\r\u0000\u0fd1\u0fcf"+
56952 "\u0001\u0000\u0000\u0000\u0fd1\u0fd2\u0001\u0000\u0000\u0000\u0fd2\u0fd4"+
56953 "\u0001\u0000\u0000\u0000\u0fd3\u0fd5\u00079\u0000\u0000\u0fd4\u0fd3\u0001"+
56954 "\u0000\u0000\u0000\u0fd4\u0fd5\u0001\u0000\u0000\u0000\u0fd5\u0247\u0001"+
56955 "\u0000\u0000\u0000\u0fd6\u0fd8\u0003\u024a\u0125\u0000\u0fd7\u0fd6\u0001"+
56956 "\u0000\u0000\u0000\u0fd7\u0fd8\u0001\u0000\u0000\u0000\u0fd8\u0fdb\u0001"+
56957 "\u0000\u0000\u0000\u0fd9\u0fda\u0005f\u0000\u0000\u0fda\u0fdc\u0005\u013c"+
56958 "\u0000\u0000\u0fdb\u0fd9\u0001\u0000\u0000\u0000\u0fdb\u0fdc\u0001\u0000"+
56959 "\u0000\u0000\u0fdc\u0fdd\u0001\u0000\u0000\u0000\u0fdd\u0fde\u0005`\u0000"+
56960 "\u0000\u0fde\u0fdf\u0003\u024e\u0127\u0000\u0fdf\u0249\u0001\u0000\u0000"+
56961 "\u0000\u0fe0\u0fe9\u0005M\u0000\u0000\u0fe1\u0fe6\u0003\u024c\u0126\u0000"+
56962 "\u0fe2\u0fe3\u0005%\u0000\u0000\u0fe3\u0fe5\u0003\u024c\u0126\u0000\u0fe4"+
56963 "\u0fe2\u0001\u0000\u0000\u0000\u0fe5\u0fe8\u0001\u0000\u0000\u0000\u0fe6"+
56964 "\u0fe4\u0001\u0000\u0000\u0000\u0fe6\u0fe7\u0001\u0000\u0000\u0000\u0fe7"+
56965 "\u0fea\u0001\u0000\u0000\u0000\u0fe8\u0fe6\u0001\u0000\u0000\u0000\u0fe9"+
56966 "\u0fe1\u0001\u0000\u0000\u0000\u0fe9\u0fea\u0001\u0000\u0000\u0000\u0fea"+
56967 "\u024b\u0001\u0000\u0000\u0000\u0feb\u0ff1\u0005\u0176\u0000\u0000\u0fec"+
56968 "\u0ff1\u0005\u01f1\u0000\u0000\u0fed\u0ff1\u0003\u00eew\u0000\u0fee\u0ff1"+
56969 "\u0005\u0220\u0000\u0000\u0fef\u0ff1\u0005\u0211\u0000\u0000\u0ff0\u0feb"+
56970 "\u0001\u0000\u0000\u0000\u0ff0\u0fec\u0001\u0000\u0000\u0000\u0ff0\u0fed"+
56971 "\u0001\u0000\u0000\u0000\u0ff0\u0fee\u0001\u0000\u0000\u0000\u0ff0\u0fef"+
56972 "\u0001\u0000\u0000\u0000\u0ff1\u024d\u0001\u0000\u0000\u0000\u0ff2\u0ff4"+
56973 "\u0005}\u0000\u0000\u0ff3\u0ff2\u0001\u0000\u0000\u0000\u0ff3\u0ff4\u0001"+
56974 "\u0000\u0000\u0000\u0ff4\u0ff5\u0001\u0000\u0000\u0000\u0ff5\u0ff7\u0003"+
56975 "\u023e\u011f\u0000\u0ff6\u0ff8\u0005\u011e\u0000\u0000\u0ff7\u0ff6\u0001"+
56976 "\u0000\u0000\u0000\u0ff7\u0ff8\u0001\u0000\u0000\u0000\u0ff8\u1016\u0001"+
56977 "\u0000\u0000\u0000\u0ff9\u0ffa\u0005\u0169\u0000\u0000\u0ffa\u0ffe\u0005"+
56978 "\u00aa\u0000\u0000\u0ffb\u0ffc\u0003L&\u0000\u0ffc\u0ffd\u0005\u0014\u0000"+
56979 "\u0000\u0ffd\u0fff\u0001\u0000\u0000\u0000\u0ffe\u0ffb\u0001\u0000\u0000"+
56980 "\u0000\u0ffe\u0fff\u0001\u0000\u0000\u0000\u0fff\u1003\u0001\u0000\u0000"+
56981 "\u0000\u1000\u1001\u0003L&\u0000\u1001\u1002\u0005\u0014\u0000\u0000\u1002"+
56982 "\u1004\u0001\u0000\u0000\u0000\u1003\u1000\u0001\u0000\u0000\u0000\u1003"+
56983 "\u1004\u0001\u0000\u0000\u0000\u1004\u1005\u0001\u0000\u0000\u0000\u1005"+
56984 "\u1016\u0003N\'\u0000\u1006\u1007\u0005}\u0000\u0000\u1007\u1008\u0005"+
56985 "\u0218\u0000\u0000\u1008\u1009\u0005M\u0000\u0000\u1009\u100e\u0003\u0250"+
56986 "\u0128\u0000\u100a\u100b\u0005%\u0000\u0000\u100b\u100d\u0003\u0250\u0128"+
56987 "\u0000\u100c\u100a\u0001\u0000\u0000\u0000\u100d\u1010\u0001\u0000\u0000"+
56988 "\u0000\u100e\u100c\u0001\u0000\u0000\u0000\u100e\u100f\u0001\u0000\u0000"+
56989 "\u0000\u100f\u1011\u0001\u0000\u0000\u0000\u1010\u100e\u0001\u0000\u0000"+
56990 "\u0000\u1011\u1013\u0003\u023e\u011f\u0000\u1012\u1014\u0005\u011e\u0000"+
56991 "\u0000\u1013\u1012\u0001\u0000\u0000\u0000\u1013\u1014\u0001\u0000\u0000"+
56992 "\u0000\u1014\u1016\u0001\u0000\u0000\u0000\u1015\u0ff3\u0001\u0000\u0000"+
56993 "\u0000\u1015\u0ff9\u0001\u0000\u0000\u0000\u1015\u1006\u0001\u0000\u0000"+
56994 "\u0000\u1016\u024f\u0001\u0000\u0000\u0000\u1017\u1018\u0005\u0219\u0000"+
56995 "\u0000\u1018\u1019\u0005\u0018\u0000\u0000\u1019\u102e\u0003\u001c\u000e"+
56996 "\u0000\u101a\u101b\u0005\u0108\u0000\u0000\u101b\u101c\u0005\u021b\u0000"+
56997 "\u0000\u101c\u101d\u0005\u021a\u0000\u0000\u101d\u1022\u0005\u0018\u0000"+
56998 "\u0000\u101e\u1023\u0005\u021c\u0000\u0000\u101f\u1020\u0005\u021d\u0000"+
56999 "\u0000\u1020\u1023\u0005\u021e\u0000\u0000\u1021\u1023\u0005\u021f\u0000"+
57000 "\u0000\u1022\u101e\u0001\u0000\u0000\u0000\u1022\u101f\u0001\u0000\u0000"+
57001 "\u0000\u1022\u1021\u0001\u0000\u0000\u0000\u1023\u102e\u0001\u0000\u0000"+
57002 "\u0000\u1024\u1025\u0005\u028c\u0000\u0000\u1025\u1026\u0005\u0018\u0000"+
57003 "\u0000\u1026\u102e\u0003\u001e\u000f\u0000\u1027\u1028\u0005\u0299\u0000"+
57004 "\u0000\u1028\u1029\u0005\u0018\u0000\u0000\u1029\u102e\u0003\u001c\u000e"+
57005 "\u0000\u102a\u102b\u0005\u029a\u0000\u0000\u102b\u102c\u0005\u0018\u0000"+
57006 "\u0000\u102c\u102e\u0007\u0000\u0000\u0000\u102d\u1017\u0001\u0000\u0000"+
57007 "\u0000\u102d\u101a\u0001\u0000\u0000\u0000\u102d\u1024\u0001\u0000\u0000"+
57008 "\u0000\u102d\u1027\u0001\u0000\u0000\u0000\u102d\u102a\u0001\u0000\u0000"+
57009 "\u0000\u102e\u0251\u0001\u0000\u0000\u0000\u102f\u1030\u0005M\u0000\u0000"+
57010 "\u1030\u1035\u0003\u0254\u012a\u0000\u1031\u1032\u0005%\u0000\u0000\u1032"+
57011 "\u1034\u0003\u0254\u012a\u0000\u1033\u1031\u0001\u0000\u0000\u0000\u1034"+
57012 "\u1037\u0001\u0000\u0000\u0000\u1035\u1033\u0001\u0000\u0000\u0000\u1035"+
57013 "\u1036\u0001\u0000\u0000\u0000\u1036\u1039\u0001\u0000\u0000\u0000\u1037"+
57014 "\u1035\u0001\u0000\u0000\u0000\u1038\u102f\u0001\u0000\u0000\u0000\u1038"+
57015 "\u1039\u0001\u0000\u0000\u0000\u1039\u103a\u0001\u0000\u0000\u0000\u103a"+
57016 "\u103c\u0005`\u0000\u0000\u103b\u103d\u0003\u0256\u012b\u0000\u103c\u103b"+
57017 "\u0001\u0000\u0000\u0000\u103c\u103d\u0001\u0000\u0000\u0000\u103d\u103e"+
57018 "\u0001\u0000\u0000\u0000\u103e\u1042\u0003\u02de\u016f\u0000\u103f\u1040"+
57019 "\u0005M\u0000\u0000\u1040\u1041\u0005\u00ff\u0000\u0000\u1041\u1043\u0005"+
57020 "\u0102\u0000\u0000\u1042\u103f\u0001\u0000\u0000\u0000\u1042\u1043\u0001"+
57021 "\u0000\u0000\u0000\u1043\u0253\u0001\u0000\u0000\u0000\u1044\u1045\u0007"+
57022 ":\u0000\u0000\u1045\u0255\u0001\u0000\u0000\u0000\u1046\u1047\u0005M\u0000"+
57023 "\u0000\u1047\u104c\u0003\u0258\u012c\u0000\u1048\u1049\u0005%\u0000\u0000"+
57024 "\u1049\u104b\u0003\u0258\u012c\u0000\u104a\u1048\u0001\u0000\u0000\u0000"+
57025 "\u104b\u104e\u0001\u0000\u0000\u0000\u104c\u104a\u0001\u0000\u0000\u0000"+
57026 "\u104c\u104d\u0001\u0000\u0000\u0000\u104d\u0257\u0001\u0000\u0000\u0000"+
57027 "\u104e\u104c\u0001\u0000\u0000\u0000\u104f\u105b\u0003N\'\u0000\u1050"+
57028 "\u1051\u0005\u001f\u0000\u0000\u1051\u1056\u0003H$\u0000\u1052\u1053\u0005"+
57029 "%\u0000\u0000\u1053\u1055\u0003H$\u0000\u1054\u1052\u0001\u0000\u0000"+
57030 "\u0000\u1055\u1058\u0001\u0000\u0000\u0000\u1056\u1054\u0001\u0000\u0000"+
57031 "\u0000\u1056\u1057\u0001\u0000\u0000\u0000\u1057\u1059\u0001\u0000\u0000"+
57032 "\u0000\u1058\u1056\u0001\u0000\u0000\u0000\u1059\u105a\u0005 \u0000\u0000"+
57033 "\u105a\u105c\u0001\u0000\u0000\u0000\u105b\u1050\u0001\u0000\u0000\u0000"+
57034 "\u105b\u105c\u0001\u0000\u0000\u0000\u105c\u105d\u0001\u0000\u0000\u0000"+
57035 "\u105d\u105e\u0005`\u0000\u0000\u105e\u105f\u0005\u001f\u0000\u0000\u105f"+
57036 "\u1060\u0003\u02de\u016f\u0000\u1060\u1061\u0005 \u0000\u0000\u1061\u0259"+
57037 "\u0001\u0000\u0000\u0000\u1062\u1063\u0005M\u0000\u0000\u1063\u1064\u0003"+
57038 "\u025c\u012e\u0000\u1064\u1065\u0005%\u0000\u0000\u1065\u1066\u0003\u025c"+
57039 "\u012e\u0000\u1066\u1068\u0001\u0000\u0000\u0000\u1067\u1062\u0001\u0000"+
57040 "\u0000\u0000\u1067\u1068\u0001\u0000\u0000\u0000\u1068\u106d\u0001\u0000"+
57041 "\u0000\u0000\u1069\u106e\u0005f\u0000\u0000\u106a\u106e\u0005\u0222\u0000"+
57042 "\u0000\u106b\u106c\u0005\u0223\u0000\u0000\u106c\u106e\u0005\u00cf\u0000"+
57043 "\u0000\u106d\u1069\u0001\u0000\u0000\u0000\u106d\u106a\u0001\u0000\u0000"+
57044 "\u0000\u106d\u106b\u0001\u0000\u0000\u0000\u106e\u1070\u0001\u0000\u0000"+
57045 "\u0000\u106f\u1071\u0005/\u0000\u0000\u1070\u106f\u0001\u0000\u0000\u0000"+
57046 "\u1070\u1071\u0001\u0000\u0000\u0000\u1071\u1073\u0001\u0000\u0000\u0000"+
57047 "\u1072\u1074\u0005%\u0000\u0000\u1073\u1072\u0001\u0000\u0000\u0000\u1073"+
57048 "\u1074\u0001\u0000\u0000\u0000\u1074\u1076\u0001\u0000\u0000\u0000\u1075"+
57049 "\u1077\u00050\u0000\u0000\u1076\u1075\u0001\u0000\u0000\u0000\u1076\u1077"+
57050 "\u0001\u0000\u0000\u0000\u1077\u1079\u0001\u0000\u0000\u0000\u1078\u107a"+
57051 "\u0005%\u0000\u0000\u1079\u1078\u0001\u0000\u0000\u0000\u1079\u107a\u0001"+
57052 "\u0000\u0000\u0000\u107a\u107c\u0001\u0000\u0000\u0000\u107b\u107d\u0005"+
57053 "1\u0000\u0000\u107c\u107b\u0001\u0000\u0000\u0000\u107c\u107d\u0001\u0000"+
57054 "\u0000\u0000\u107d\u107f\u0001\u0000\u0000\u0000\u107e\u1080\u0005%\u0000"+
57055 "\u0000\u107f\u107e\u0001\u0000\u0000\u0000\u107f\u1080\u0001\u0000\u0000"+
57056 "\u0000\u1080\u1083\u0001\u0000\u0000\u0000\u1081\u1082\u0005M\u0000\u0000"+
57057 "\u1082\u1084\u0005\u0224\u0000\u0000\u1083\u1081\u0001\u0000\u0000\u0000"+
57058 "\u1083\u1084\u0001\u0000\u0000\u0000\u1084\u1088\u0001\u0000\u0000\u0000"+
57059 "\u1085\u1086\u0005k\u0000\u0000\u1086\u1087\u0005f\u0000\u0000\u1087\u1089"+
57060 "\u0005\u013c\u0000\u0000\u1088\u1085\u0001\u0000\u0000\u0000\u1088\u1089"+
57061 "\u0001\u0000\u0000\u0000\u1089\u108a\u0001\u0000\u0000\u0000\u108a\u108f"+
57062 "\u0005`\u0000\u0000\u108b\u1090\u0003\u023e\u011f\u0000\u108c\u108d\u0005"+
57063 "\u0169\u0000\u0000\u108d\u108e\u0005\u00aa\u0000\u0000\u108e\u1090\u0003"+
57064 "\u025e\u012f\u0000\u108f\u108b\u0001\u0000\u0000\u0000\u108f\u108c\u0001"+
57065 "\u0000\u0000\u0000\u1090\u025b\u0001\u0000\u0000\u0000\u1091\u1097\u0005"+
57066 "\u0176\u0000\u0000\u1092\u1097\u0003\u00eew\u0000\u1093\u1097\u0005\u0220"+
57067 "\u0000\u0000\u1094\u1097\u0005\u0211\u0000\u0000\u1095\u1097\u0001\u0000"+
57068 "\u0000\u0000\u1096\u1091\u0001\u0000\u0000\u0000\u1096\u1092\u0001\u0000"+
57069 "\u0000\u0000\u1096\u1093\u0001\u0000\u0000\u0000\u1096\u1094\u0001\u0000"+
57070 "\u0000\u0000\u1096\u1095\u0001\u0000\u0000\u0000\u1097\u025d\u0001\u0000"+
57071 "\u0000\u0000\u1098\u1099\u0003N\'\u0000\u1099\u109a\u0005\u0014\u0000"+
57072 "\u0000\u109a\u109b\u0003N\'\u0000\u109b\u109c\u0005\u0014\u0000\u0000"+
57073 "\u109c\u109d\u0003N\'\u0000\u109d\u025f\u0001\u0000\u0000\u0000\u109e"+
57074 "\u10a4\u0003@ \u0000\u109f\u10a4\u0003:\u001d\u0000\u10a0\u10a1\u0005"+
57075 "r\u0000\u0000\u10a1\u10a4\u0005\u0155\u0000\u0000\u10a2\u10a4\u0005\u00cc"+
57076 "\u0000\u0000\u10a3\u109e\u0001\u0000\u0000\u0000\u10a3\u109f\u0001\u0000"+
57077 "\u0000\u0000\u10a3\u10a0\u0001\u0000\u0000\u0000\u10a3\u10a2\u0001\u0000"+
57078 "\u0000\u0000\u10a4\u0261\u0001\u0000\u0000\u0000\u10a5\u10a6\u0005`\u0000"+
57079 "\u0000\u10a6\u10c2\u0003\u00aeW\u0000\u10a7\u10a8\u0007;\u0000\u0000\u10a8"+
57080 "\u10a9\u0005M\u0000\u0000\u10a9\u10c2\u0003b1\u0000\u10aa\u10ab\u0005"+
57081 "\u0225\u0000\u0000\u10ab\u10ac\u0005w\u0000\u0000\u10ac\u10c2\u0003b1"+
57082 "\u0000\u10ad\u10af\u0005\u0228\u0000\u0000\u10ae\u10b0\u0003b1\u0000\u10af"+
57083 "\u10ae\u0001\u0000\u0000\u0000\u10af\u10b0\u0001\u0000\u0000\u0000\u10b0"+
57084 "\u10c2\u0001\u0000\u0000\u0000\u10b1\u10b2\u0005\u0101\u0000\u0000\u10b2"+
57085 "\u10c2\u0005\u0228\u0000\u0000\u10b3\u10b5\u0005\u0229\u0000\u0000\u10b4"+
57086 "\u10b6\u0003b1\u0000\u10b5\u10b4\u0001\u0000\u0000\u0000\u10b5\u10b6\u0001"+
57087 "\u0000\u0000\u0000\u10b6\u10c2\u0001\u0000\u0000\u0000\u10b7\u10b8\u0005"+
57088 "\u0101\u0000\u0000\u10b8\u10c2\u0005\u0229\u0000\u0000\u10b9\u10ba\u0005"+
57089 "\u0227\u0000\u0000\u10ba\u10c2\u0003b1\u0000\u10bb\u10bc\u0005\u0101\u0000"+
57090 "\u0000\u10bc\u10c2\u0005\u0227\u0000\u0000\u10bd\u10bf\u0005\u0101\u0000"+
57091 "\u0000\u10be\u10bd\u0001\u0000\u0000\u0000\u10be\u10bf\u0001\u0000\u0000"+
57092 "\u0000\u10bf\u10c0\u0001\u0000\u0000\u0000\u10c0\u10c2";
57093 private static final String _serializedATNSegment2 =
57094 "\u0005\u0226\u0000\u0000\u10c1\u10a5\u0001\u0000\u0000\u0000\u10c1\u10a7"+
57095 "\u0001\u0000\u0000\u0000\u10c1\u10aa\u0001\u0000\u0000\u0000\u10c1\u10ad"+
57096 "\u0001\u0000\u0000\u0000\u10c1\u10b1\u0001\u0000\u0000\u0000\u10c1\u10b3"+
57097 "\u0001\u0000\u0000\u0000\u10c1\u10b7\u0001\u0000\u0000\u0000\u10c1\u10b9"+
57098 "\u0001\u0000\u0000\u0000\u10c1\u10bb\u0001\u0000\u0000\u0000\u10c1\u10be"+
57099 "\u0001\u0000\u0000\u0000\u10c2\u0263\u0001\u0000\u0000\u0000\u10c3\u10c4"+
57100 "\u0005\u0231\u0000\u0000\u10c4\u10c6\u0003R)\u0000\u10c5\u10c3\u0001\u0000"+
57101 "\u0000\u0000\u10c5\u10c6\u0001\u0000\u0000\u0000\u10c6\u10c9\u0001\u0000"+
57102 "\u0000\u0000\u10c7\u10c8\u0005_\u0000\u0000\u10c8\u10ca\u0003\u0266\u0133"+
57103 "\u0000\u10c9\u10c7\u0001\u0000\u0000\u0000\u10c9\u10ca\u0001\u0000\u0000"+
57104 "\u0000\u10ca\u10d7\u0001\u0000\u0000\u0000\u10cb\u10cc\u0005M\u0000\u0000"+
57105 "\u10cc\u10cd\u0005\u001f\u0000\u0000\u10cd\u10d2\u0003\u026c\u0136\u0000"+
57106 "\u10ce\u10cf\u0005%\u0000\u0000\u10cf\u10d1\u0003\u026c\u0136\u0000\u10d0"+
57107 "\u10ce\u0001\u0000\u0000\u0000\u10d1\u10d4\u0001\u0000\u0000\u0000\u10d2"+
57108 "\u10d0\u0001\u0000\u0000\u0000\u10d2\u10d3\u0001\u0000\u0000\u0000\u10d3"+
57109 "\u10d5\u0001\u0000\u0000\u0000\u10d4\u10d2\u0001\u0000\u0000\u0000\u10d5"+
57110 "\u10d6\u0005 \u0000\u0000\u10d6\u10d8\u0001\u0000\u0000\u0000\u10d7\u10cb"+
57111 "\u0001\u0000\u0000\u0000\u10d7\u10d8\u0001\u0000\u0000\u0000\u10d8\u10e2"+
57112 "\u0001\u0000\u0000\u0000\u10d9\u10e0\u0005a\u0000\u0000\u10da\u10db\u0003"+
57113 "4\u001a\u0000\u10db\u10dc\u0005\u001f\u0000\u0000\u10dc\u10dd\u0003H$"+
57114 "\u0000\u10dd\u10de\u0005 \u0000\u0000\u10de\u10e1\u0001\u0000\u0000\u0000"+
57115 "\u10df\u10e1\u0003N\'\u0000\u10e0\u10da\u0001\u0000\u0000\u0000\u10e0"+
57116 "\u10df\u0001\u0000\u0000\u0000\u10e1\u10e3\u0001\u0000\u0000\u0000\u10e2"+
57117 "\u10d9\u0001\u0000\u0000\u0000\u10e2\u10e3\u0001\u0000\u0000\u0000\u10e3"+
57118 "\u10e9\u0001\u0000\u0000\u0000\u10e4\u10e7\u0005\u01b3\u0000\u0000\u10e5"+
57119 "\u10e8\u0003N\'\u0000\u10e6\u10e8\u0003\u001c\u000e\u0000\u10e7\u10e5"+
57120 "\u0001\u0000\u0000\u0000\u10e7\u10e6\u0001\u0000\u0000\u0000\u10e8\u10ea"+
57121 "\u0001\u0000\u0000\u0000\u10e9\u10e4\u0001\u0000\u0000\u0000\u10e9\u10ea"+
57122 "\u0001\u0000\u0000\u0000\u10ea\u0265\u0001\u0000\u0000\u0000\u10eb\u10f0"+
57123 "\u0003\u0268\u0134\u0000\u10ec\u10ed\u0005h\u0000\u0000\u10ed\u10ef\u0003"+
57124 "\u0268\u0134\u0000\u10ee\u10ec\u0001\u0000\u0000\u0000\u10ef\u10f2\u0001"+
57125 "\u0000\u0000\u0000\u10f0\u10ee\u0001\u0000\u0000\u0000\u10f0\u10f1\u0001"+
57126 "\u0000\u0000\u0000\u10f1\u0267\u0001\u0000\u0000\u0000\u10f2\u10f0\u0001"+
57127 "\u0000\u0000\u0000\u10f3\u10f4\u0003H$\u0000\u10f4\u10f5\u0005q\u0000"+
57128 "\u0000\u10f5\u10f6\u0005\u001f\u0000\u0000\u10f6\u10fb\u0003b1\u0000\u10f7"+
57129 "\u10f8\u0005%\u0000\u0000\u10f8\u10fa\u0003b1\u0000\u10f9\u10f7\u0001"+
57130 "\u0000\u0000\u0000\u10fa\u10fd\u0001\u0000\u0000\u0000\u10fb\u10f9\u0001"+
57131 "\u0000\u0000\u0000\u10fb\u10fc\u0001\u0000\u0000\u0000\u10fc\u10fe\u0001"+
57132 "\u0000\u0000\u0000\u10fd\u10fb\u0001\u0000\u0000\u0000\u10fe\u10ff\u0005"+
57133 " \u0000\u0000\u10ff\u1105\u0001\u0000\u0000\u0000\u1100\u1101\u0003H$"+
57134 "\u0000\u1101\u1102\u0003n7\u0000\u1102\u1103\u0003b1\u0000\u1103\u1105"+
57135 "\u0001\u0000\u0000\u0000\u1104\u10f3\u0001\u0000\u0000\u0000\u1104\u1100"+
57136 "\u0001\u0000\u0000\u0000\u1105\u0269\u0001\u0000\u0000\u0000\u1106\u110d"+
57137 "\u0005\u013a\u0000\u0000\u1107\u1108\u0005\u00f6\u0000\u0000\u1108\u110b"+
57138 "\u0005\u0018\u0000\u0000\u1109\u110c\u0005r\u0000\u0000\u110a\u110c\u0003"+
57139 "b1\u0000\u110b\u1109\u0001\u0000\u0000\u0000\u110b\u110a\u0001\u0000\u0000"+
57140 "\u0000\u110c\u110e\u0001\u0000\u0000\u0000\u110d\u1107\u0001\u0000\u0000"+
57141 "\u0000\u110d\u110e\u0001\u0000\u0000\u0000\u110e\u111b\u0001\u0000\u0000"+
57142 "\u0000\u110f\u1110\u0005M\u0000\u0000\u1110\u1111\u0005\u001f\u0000\u0000"+
57143 "\u1111\u1116\u0003\u026c\u0136\u0000\u1112\u1113\u0005%\u0000\u0000\u1113"+
57144 "\u1115\u0003\u026c\u0136\u0000\u1114\u1112\u0001\u0000\u0000\u0000\u1115"+
57145 "\u1118\u0001\u0000\u0000\u0000\u1116\u1114\u0001\u0000\u0000\u0000\u1116"+
57146 "\u1117\u0001\u0000\u0000\u0000\u1117\u1119\u0001\u0000\u0000\u0000\u1118"+
57147 "\u1116\u0001\u0000\u0000\u0000\u1119\u111a\u0005 \u0000\u0000\u111a\u111c"+
57148 "\u0001\u0000\u0000\u0000\u111b\u110f\u0001\u0000\u0000\u0000\u111b\u111c"+
57149 "\u0001\u0000\u0000\u0000\u111c\u1145\u0001\u0000\u0000\u0000\u111d\u1145"+
57150 "\u0005\u009d\u0000\u0000\u111e\u1122\u0005\u022d\u0000\u0000\u111f\u1120"+
57151 "\u0005\u00f6\u0000\u0000\u1120\u1121\u0005\u0018\u0000\u0000\u1121\u1123"+
57152 "\u0003b1\u0000\u1122\u111f\u0001\u0000\u0000\u0000\u1122\u1123\u0001\u0000"+
57153 "\u0000\u0000\u1123\u1129\u0001\u0000\u0000\u0000\u1124\u1125\u0005M\u0000"+
57154 "\u0000\u1125\u1126\u0005\u001f\u0000\u0000\u1126\u1127\u0003\u0270\u0138"+
57155 "\u0000\u1127\u1128\u0005 \u0000\u0000\u1128\u112a\u0001\u0000\u0000\u0000"+
57156 "\u1129\u1124\u0001\u0000\u0000\u0000\u1129\u112a\u0001\u0000\u0000\u0000"+
57157 "\u112a\u1145\u0001\u0000\u0000\u0000\u112b\u112c\u0005:\u0000\u0000\u112c"+
57158 "\u112d\u0005\u001f\u0000\u0000\u112d\u112e\u0003\u0272\u0139\u0000\u112e"+
57159 "\u112f\u0005%\u0000\u0000\u112f\u1130\u0003\u0272\u0139\u0000\u1130\u1131"+
57160 "\u0001\u0000\u0000\u0000\u1131\u1132\u0005 \u0000\u0000\u1132\u1145\u0001"+
57161 "\u0000\u0000\u0000\u1133\u1140\u0005\u022e\u0000\u0000\u1134\u1135\u0005"+
57162 "M\u0000\u0000\u1135\u1136\u0005\u001f\u0000\u0000\u1136\u113b\u0003\u0274"+
57163 "\u013a\u0000\u1137\u1138\u0005%\u0000\u0000\u1138\u113a\u0003\u0274\u013a"+
57164 "\u0000\u1139\u1137\u0001\u0000\u0000\u0000\u113a\u113d\u0001\u0000\u0000"+
57165 "\u0000\u113b\u1139\u0001\u0000\u0000\u0000\u113b\u113c\u0001\u0000\u0000"+
57166 "\u0000\u113c\u113e\u0001\u0000\u0000\u0000\u113d\u113b\u0001\u0000\u0000"+
57167 "\u0000\u113e\u113f\u0005 \u0000\u0000\u113f\u1141\u0001\u0000\u0000\u0000"+
57168 "\u1140\u1134\u0001\u0000\u0000\u0000\u1140\u1141\u0001\u0000\u0000\u0000"+
57169 "\u1141\u1145\u0001\u0000\u0000\u0000\u1142\u1145\u0005\u022f\u0000\u0000"+
57170 "\u1143\u1145\u0005\u0230\u0000\u0000\u1144\u1106\u0001\u0000\u0000\u0000"+
57171 "\u1144\u111d\u0001\u0000\u0000\u0000\u1144\u111e\u0001\u0000\u0000\u0000"+
57172 "\u1144\u112b\u0001\u0000\u0000\u0000\u1144\u1133\u0001\u0000\u0000\u0000"+
57173 "\u1144\u1142\u0001\u0000\u0000\u0000\u1144\u1143\u0001\u0000\u0000\u0000"+
57174 "\u1145\u026b\u0001\u0000\u0000\u0000\u1146\u1147\u0005\u01b1\u0000\u0000"+
57175 "\u1147\u1148\u0005\u0018\u0000\u0000\u1148\u118a\u0007\u0000\u0000\u0000"+
57176 "\u1149\u114a\u0005\u0121\u0000\u0000\u114a\u114b\u0005\u0018\u0000\u0000"+
57177 "\u114b\u118a\u0003b1\u0000\u114c\u114d\u0005\u01ab\u0000\u0000\u114d\u114e"+
57178 "\u0005\u0018\u0000\u0000\u114e\u118a\u0007\u0000\u0000\u0000\u114f\u1150"+
57179 "\u0005\u01ac\u0000\u0000\u1150\u1151\u0005\u0018\u0000\u0000\u1151\u118a"+
57180 "\u0007\u0000\u0000\u0000\u1152\u1153\u0005\u01a7\u0000\u0000\u1153\u1154"+
57181 "\u0005\u0018\u0000\u0000\u1154\u118a\u0007\u0000\u0000\u0000\u1155\u1156"+
57182 "\u0005\u01a6\u0000\u0000\u1156\u1157\u0005\u0018\u0000\u0000\u1157\u118a"+
57183 "\u0007\u0000\u0000\u0000\u1158\u1159\u0005\u01bd\u0000\u0000\u1159\u115a"+
57184 "\u0005\u0018\u0000\u0000\u115a\u118a\u0007\u0000\u0000\u0000\u115b\u115c"+
57185 "\u0005\u0131\u0000\u0000\u115c\u1162\u0005\u0018\u0000\u0000\u115d\u115f"+
57186 "\u0005a\u0000\u0000\u115e\u1160\u0003\u00e2q\u0000\u115f\u115e\u0001\u0000"+
57187 "\u0000\u0000\u115f\u1160\u0001\u0000\u0000\u0000\u1160\u1163\u0001\u0000"+
57188 "\u0000\u0000\u1161\u1163\u0005b\u0000\u0000\u1162\u115d\u0001\u0000\u0000"+
57189 "\u0000\u1162\u1161\u0001\u0000\u0000\u0000\u1163\u118a\u0001\u0000\u0000"+
57190 "\u0000\u1164\u1165\u0005\u013d\u0000\u0000\u1165\u1166\u0005\u0018\u0000"+
57191 "\u0000\u1166\u118a\u0007\u0000\u0000\u0000\u1167\u1168\u0005\u01ae\u0000"+
57192 "\u0000\u1168\u1169\u0005\u0018\u0000\u0000\u1169\u116b\u0003b1\u0000\u116a"+
57193 "\u116c\u0005\u0117\u0000\u0000\u116b\u116a\u0001\u0000\u0000\u0000\u116b"+
57194 "\u116c\u0001\u0000\u0000\u0000\u116c\u118a\u0001\u0000\u0000\u0000\u116d"+
57195 "\u116e\u0005\u0197\u0000\u0000\u116e\u116f\u0005\u0018\u0000\u0000\u116f"+
57196 "\u118a\u0007\u0000\u0000\u0000\u1170\u1171\u0005\u0196\u0000\u0000\u1171"+
57197 "\u1172\u0005\u0018\u0000\u0000\u1172\u118a\u0007\u0000\u0000\u0000\u1173"+
57198 "\u1174\u0005\u01f3\u0000\u0000\u1174\u1175\u0005\u0018\u0000\u0000\u1175"+
57199 "\u118a\u0007\u0000\u0000\u0000\u1176\u1177\u0005\u012c\u0000\u0000\u1177"+
57200 "\u1178\u0005\u0018\u0000\u0000\u1178\u118a\u0003b1\u0000\u1179\u117a\u0005"+
57201 "\u019f\u0000\u0000\u117a\u117b\u0005\u0018\u0000\u0000\u117b\u1187\u0007"+
57202 "\u001d\u0000\u0000\u117c\u117d\u0005a\u0000\u0000\u117d\u117e\u0005\u00f7"+
57203 "\u0000\u0000\u117e\u117f\u0005\u001f\u0000\u0000\u117f\u1184\u0003\u026e"+
57204 "\u0137\u0000\u1180\u1181\u0005%\u0000\u0000\u1181\u1183\u0003\u026e\u0137"+
57205 "\u0000\u1182\u1180\u0001\u0000\u0000\u0000\u1183\u1186\u0001\u0000\u0000"+
57206 "\u0000\u1184\u1182\u0001\u0000\u0000\u0000\u1184\u1185\u0001\u0000\u0000"+
57207 "\u0000\u1185\u1188\u0001\u0000\u0000\u0000\u1186\u1184\u0001\u0000\u0000"+
57208 "\u0000\u1187\u117c\u0001\u0000\u0000\u0000\u1187\u1188\u0001\u0000\u0000"+
57209 "\u0000\u1188\u118a\u0001\u0000\u0000\u0000\u1189\u1146\u0001\u0000\u0000"+
57210 "\u0000\u1189\u1149\u0001\u0000\u0000\u0000\u1189\u114c\u0001\u0000\u0000"+
57211 "\u0000\u1189\u114f\u0001\u0000\u0000\u0000\u1189\u1152\u0001\u0000\u0000"+
57212 "\u0000\u1189\u1155\u0001\u0000\u0000\u0000\u1189\u1158\u0001\u0000\u0000"+
57213 "\u0000\u1189\u115b\u0001\u0000\u0000\u0000\u1189\u1164\u0001\u0000\u0000"+
57214 "\u0000\u1189\u1167\u0001\u0000\u0000\u0000\u1189\u116d\u0001\u0000\u0000"+
57215 "\u0000\u1189\u1170\u0001\u0000\u0000\u0000\u1189\u1173\u0001\u0000\u0000"+
57216 "\u0000\u1189\u1176\u0001\u0000\u0000\u0000\u1189\u1179\u0001\u0000\u0000"+
57217 "\u0000\u118a\u026d\u0001\u0000\u0000\u0000\u118b\u118e\u0003b1\u0000\u118c"+
57218 "\u118d\u0005g\u0000\u0000\u118d\u118f\u0003b1\u0000\u118e\u118c\u0001"+
57219 "\u0000\u0000\u0000\u118e\u118f\u0001\u0000\u0000\u0000\u118f\u026f\u0001"+
57220 "\u0000\u0000\u0000\u1190\u1191\u0005\u022b\u0000\u0000\u1191\u1192\u0005"+
57221 "\u0018\u0000\u0000\u1192\u1197\u0007\u0000\u0000\u0000\u1193\u1194\u0005"+
57222 "\u022c\u0000\u0000\u1194\u1195\u0005\u0018\u0000\u0000\u1195\u1197\u0007"+
57223 "\u0000\u0000\u0000\u1196\u1190\u0001\u0000\u0000\u0000\u1196\u1193\u0001"+
57224 "\u0000\u0000\u0000\u1197\u0271\u0001\u0000\u0000\u0000\u1198\u1199\u0005"+
57225 "\u0197\u0000\u0000\u1199\u119a\u0005\u0018\u0000\u0000\u119a\u11ae\u0007"+
57226 "\u0000\u0000\u0000\u119b\u119c\u0005\u0196\u0000\u0000\u119c\u119d\u0005"+
57227 "\u0018\u0000\u0000\u119d\u11ae\u0007\u0000\u0000\u0000\u119e\u119f\u0005"+
57228 "\u01f3\u0000\u0000\u119f\u11a0\u0005\u0018\u0000\u0000\u11a0\u11ae\u0007"+
57229 "\u0000\u0000\u0000\u11a1\u11a2\u0005\u01ac\u0000\u0000\u11a2\u11a3\u0005"+
57230 "\u0018\u0000\u0000\u11a3\u11ae\u0007\u0000\u0000\u0000\u11a4\u11a5\u0005"+
57231 "\u01a7\u0000\u0000\u11a5\u11a6\u0005\u0018\u0000\u0000\u11a6\u11ae\u0007"+
57232 "\u0000\u0000\u0000\u11a7\u11a8\u0005\u019d\u0000\u0000\u11a8\u11a9\u0005"+
57233 "\u0018\u0000\u0000\u11a9\u11ab\u0003b1\u0000\u11aa\u11ac\u0005\u0117\u0000"+
57234 "\u0000\u11ab\u11aa\u0001\u0000\u0000\u0000\u11ab\u11ac\u0001\u0000\u0000"+
57235 "\u0000\u11ac\u11ae\u0001\u0000\u0000\u0000\u11ad\u1198\u0001\u0000\u0000"+
57236 "\u0000\u11ad\u119b\u0001\u0000\u0000\u0000\u11ad\u119e\u0001\u0000\u0000"+
57237 "\u0000\u11ad\u11a1\u0001\u0000\u0000\u0000\u11ad\u11a4\u0001\u0000\u0000"+
57238 "\u0000\u11ad\u11a7\u0001\u0000\u0000\u0000\u11ae\u0273\u0001\u0000\u0000"+
57239 "\u0000\u11af\u11b0\u0005\u012c\u0000\u0000\u11b0\u11b1\u0005\u0018\u0000"+
57240 "\u0000\u11b1\u11ba\u0003b1\u0000\u11b2\u11b3\u0005\u01ae\u0000\u0000\u11b3"+
57241 "\u11b4\u0005\u0018\u0000\u0000\u11b4\u11b6\u0003b1\u0000\u11b5\u11b7\u0005"+
57242 "\u0117\u0000\u0000\u11b6\u11b5\u0001\u0000\u0000\u0000\u11b6\u11b7\u0001"+
57243 "\u0000\u0000\u0000\u11b7\u11ba\u0001\u0000\u0000\u0000\u11b8\u11ba\u0003"+
57244 "\u00e2q\u0000\u11b9\u11af\u0001\u0000\u0000\u0000\u11b9\u11b2\u0001\u0000"+
57245 "\u0000\u0000\u11b9\u11b8\u0001\u0000\u0000\u0000\u11ba\u0275\u0001\u0000"+
57246 "\u0000\u0000\u11bb\u11bc\u0005\u023a\u0000\u0000\u11bc\u11bd\u0005\u00aa"+
57247 "\u0000\u0000\u11bd\u11be\u0005\u0018\u0000\u0000\u11be\u11f2\u00032\u0019"+
57248 "\u0000\u11bf\u11c0\u0005\u010f\u0000\u0000\u11c0\u11f2\u0003\u00e6s\u0000"+
57249 "\u11c1\u11f2\u0003\u0280\u0140\u0000\u11c2\u11c3\u0005:\u0000\u0000\u11c3"+
57250 "\u11c8\u0003\u027e\u013f\u0000\u11c4\u11c5\u0005%\u0000\u0000\u11c5\u11c7"+
57251 "\u0003\u027e\u013f\u0000\u11c6\u11c4\u0001\u0000\u0000\u0000\u11c7\u11ca"+
57252 "\u0001\u0000\u0000\u0000\u11c8\u11c6\u0001\u0000\u0000\u0000\u11c8\u11c9"+
57253 "\u0001\u0000\u0000\u0000\u11c9\u11cd\u0001\u0000\u0000\u0000\u11ca\u11c8"+
57254 "\u0001\u0000\u0000\u0000\u11cb\u11cc\u0005M\u0000\u0000\u11cc\u11ce\u0003"+
57255 "\u02a6\u0153\u0000\u11cd\u11cb\u0001\u0000\u0000\u0000\u11cd\u11ce\u0001"+
57256 "\u0000\u0000\u0000\u11ce\u11f2\u0001\u0000\u0000\u0000\u11cf\u11d0\u0005"+
57257 "\u023a\u0000\u0000\u11d0\u11d1\u0005\u001f\u0000\u0000\u11d1\u11d6\u0003"+
57258 "\u027a\u013d\u0000\u11d2\u11d3\u0005%\u0000\u0000\u11d3\u11d5\u0003\u027a"+
57259 "\u013d\u0000\u11d4\u11d2\u0001\u0000\u0000\u0000\u11d5\u11d8\u0001\u0000"+
57260 "\u0000\u0000\u11d6\u11d4\u0001\u0000\u0000\u0000\u11d6\u11d7\u0001\u0000"+
57261 "\u0000\u0000\u11d7\u11d9\u0001\u0000\u0000\u0000\u11d8\u11d6\u0001\u0000"+
57262 "\u0000\u0000\u11d9\u11da\u0005 \u0000\u0000\u11da\u11f2\u0001\u0000\u0000"+
57263 "\u0000\u11db\u11dc\u0005\u023a\u0000\u0000\u11dc\u11dd\u0005\u028d\u0000"+
57264 "\u0000\u11dd\u11de\u0005\u0018\u0000\u0000\u11de\u11f2\u0005\u02d4\u0000"+
57265 "\u0000\u11df\u11e0\u00059\u0000\u0000\u11e0\u11e1\u0005\u028f\u0000\u0000"+
57266 "\u11e1\u11e2\u0005a\u0000\u0000\u11e2\u11e3\u0005\u0155\u0000\u0000\u11e3"+
57267 "\u11ed\u0003\u00e6s\u0000\u11e4\u11e5\u0005M\u0000\u0000\u11e5\u11ea\u0003"+
57268 "\u0278\u013c\u0000\u11e6\u11e7\u0005%\u0000\u0000\u11e7\u11e9\u0003\u0278"+
57269 "\u013c\u0000\u11e8\u11e6\u0001\u0000\u0000\u0000\u11e9\u11ec\u0001\u0000"+
57270 "\u0000\u0000\u11ea\u11e8\u0001\u0000\u0000\u0000\u11ea\u11eb\u0001\u0000"+
57271 "\u0000\u0000\u11eb\u11ee\u0001\u0000\u0000\u0000\u11ec\u11ea\u0001\u0000"+
57272 "\u0000\u0000\u11ed\u11e4\u0001\u0000\u0000\u0000\u11ed\u11ee\u0001\u0000"+
57273 "\u0000\u0000\u11ee\u11f2\u0001\u0000\u0000\u0000\u11ef\u11f2\u0005\u0290"+
57274 "\u0000\u0000\u11f0\u11f2\u0005\u028e\u0000\u0000\u11f1\u11bb\u0001\u0000"+
57275 "\u0000\u0000\u11f1\u11bf\u0001\u0000\u0000\u0000\u11f1\u11c1\u0001\u0000"+
57276 "\u0000\u0000\u11f1\u11c2\u0001\u0000\u0000\u0000\u11f1\u11cf\u0001\u0000"+
57277 "\u0000\u0000\u11f1\u11db\u0001\u0000\u0000\u0000\u11f1\u11df\u0001\u0000"+
57278 "\u0000\u0000\u11f1\u11ef\u0001\u0000\u0000\u0000\u11f1\u11f0\u0001\u0000"+
57279 "\u0000\u0000\u11f2\u0277\u0001\u0000\u0000\u0000\u11f3\u11f4\u0005\u0289"+
57280 "\u0000\u0000\u11f4\u11f5\u0005\u0018\u0000\u0000\u11f5\u1200\u0007<\u0000"+
57281 "\u0000\u11f6\u11f7\u0005\u0287\u0000\u0000\u11f7\u11fd\u0005\u0018\u0000"+
57282 "\u0000\u11f8\u11fe\u0003\u027c\u013e\u0000\u11f9\u11fa\u0005\u0288\u0000"+
57283 "\u0000\u11fa\u11fb\u0005\u0018\u0000\u0000\u11fb\u11fe\u00032\u0019\u0000"+
57284 "\u11fc\u11fe\u0007=\u0000\u0000\u11fd\u11f8\u0001\u0000\u0000\u0000\u11fd"+
57285 "\u11f9\u0001\u0000\u0000\u0000\u11fd\u11fc\u0001\u0000\u0000\u0000\u11fe"+
57286 "\u1200\u0001\u0000\u0000\u0000\u11ff\u11f3\u0001\u0000\u0000\u0000\u11ff"+
57287 "\u11f6\u0001\u0000\u0000\u0000\u1200\u0279\u0001\u0000\u0000\u0000\u1201"+
57288 "\u1202\u0005\u01fb\u0000\u0000\u1202\u1203\u0005\u0018\u0000\u0000\u1203"+
57289 "\u1204\u0005\u02d5\u0000\u0000\u1204\u120f\u0007>\u0000\u0000\u1205\u1206"+
57290 "\u0005\u027a\u0000\u0000\u1206\u1207\u0005\u0018\u0000\u0000\u1207\u120f"+
57291 "\u0005\u02d4\u0000\u0000\u1208\u1209\u0005\u0287\u0000\u0000\u1209\u120c"+
57292 "\u0005\u0018\u0000\u0000\u120a\u120d\u0005\u02d4\u0000\u0000\u120b\u120d"+
57293 "\u0003\u027c\u013e\u0000\u120c\u120a\u0001\u0000\u0000\u0000\u120c\u120b"+
57294 "\u0001\u0000\u0000\u0000\u120d\u120f\u0001\u0000\u0000\u0000\u120e\u1201"+
57295 "\u0001\u0000\u0000\u0000\u120e\u1205\u0001\u0000\u0000\u0000\u120e\u1208"+
57296 "\u0001\u0000\u0000\u0000\u120f\u027b\u0001\u0000\u0000\u0000\u1210\u1219"+
57297 "\u0005\u02d4\u0000\u0000\u1211\u1212\u0005\u0286\u0000\u0000\u1212\u1213"+
57298 "\u0005\u001f\u0000\u0000\u1213\u1214\u0003\u00e6s\u0000\u1214\u1215\u0005"+
57299 "\u0018\u0000\u0000\u1215\u1216\u0005\u02d4\u0000\u0000\u1216\u1217\u0005"+
57300 " \u0000\u0000\u1217\u1219\u0001\u0000\u0000\u0000\u1218\u1210\u0001\u0000"+
57301 "\u0000\u0000\u1218\u1211\u0001\u0000\u0000\u0000\u1219\u027d\u0001\u0000"+
57302 "\u0000\u0000\u121a\u1246\u0003\u0288\u0144\u0000\u121b\u1246\u0003\u028a"+
57303 "\u0145\u0000\u121c\u1246\u0003\u028c\u0146\u0000\u121d\u1246\u0003\u028e"+
57304 "\u0147\u0000\u121e\u121f\u0005\u01f7\u0000\u0000\u121f\u1220\u0005\u0018"+
57305 "\u0000\u0000\u1220\u1246\u00072\u0000\u0000\u1221\u1246\u0003\u0292\u0149"+
57306 "\u0000\u1222\u1223\u0005\u0285\u0000\u0000\u1223\u1246\u0007\u0000\u0000"+
57307 "\u0000\u1224\u1225\u0005\u0176\u0000\u0000\u1225\u1246\u0007?\u0000\u0000"+
57308 "\u1226\u1246\u0007@\u0000\u0000\u1227\u1246\u0007A\u0000\u0000\u1228\u1246"+
57309 "\u0007B\u0000\u0000\u1229\u122a\u0005\u029a\u0000\u0000\u122a\u122b\u0005"+
57310 "\u0018\u0000\u0000\u122b\u1246\u0007C\u0000\u0000\u122c\u1246\u0003\u0294"+
57311 "\u014a\u0000\u122d\u122e\u0005\u011f\u0000\u0000\u122e\u122f\u0005\u001f"+
57312 "\u0000\u0000\u122f\u1230\u0003\u020c\u0106\u0000\u1230\u1231\u0005 \u0000"+
57313 "\u0000\u1231\u1246\u0001\u0000\u0000\u0000\u1232\u1233\u00053\u0000\u0000"+
57314 "\u1233\u1234\u0005\u00cc\u0000\u0000\u1234\u1235\u0005:\u0000\u0000\u1235"+
57315 "\u1246\u0005\u027e\u0000\u0000\u1236\u1237\u0005\u027b\u0000\u0000\u1237"+
57316 "\u1246\u0007\u0000\u0000\u0000\u1238\u1239\u0005\u01ef\u0000\u0000\u1239"+
57317 "\u1246\u0007D\u0000\u0000\u123a\u1246\u0003\u0296\u014b\u0000\u123b\u1246"+
57318 "\u0003\u029c\u014e\u0000\u123c\u1246\u0003\u02a2\u0151\u0000\u123d\u1246"+
57319 "\u0003\u02a0\u0150\u0000\u123e\u1246\u0003\u029e\u014f\u0000\u123f\u1246"+
57320 "\u0003\u02a4\u0152\u0000\u1240\u1246\u0003\u02a6\u0153\u0000\u1241\u1242"+
57321 "\u0005\u0279\u0000\u0000\u1242\u1246\u0007\u0000\u0000\u0000\u1243\u1244"+
57322 "\u0005\u0278\u0000\u0000\u1244\u1246\u0007\u0000\u0000\u0000\u1245\u121a"+
57323 "\u0001\u0000\u0000\u0000\u1245\u121b\u0001\u0000\u0000\u0000\u1245\u121c"+
57324 "\u0001\u0000\u0000\u0000\u1245\u121d\u0001\u0000\u0000\u0000\u1245\u121e"+
57325 "\u0001\u0000\u0000\u0000\u1245\u1221\u0001\u0000\u0000\u0000\u1245\u1222"+
57326 "\u0001\u0000\u0000\u0000\u1245\u1224\u0001\u0000\u0000\u0000\u1245\u1226"+
57327 "\u0001\u0000\u0000\u0000\u1245\u1227\u0001\u0000\u0000\u0000\u1245\u1228"+
57328 "\u0001\u0000\u0000\u0000\u1245\u1229\u0001\u0000\u0000\u0000\u1245\u122c"+
57329 "\u0001\u0000\u0000\u0000\u1245\u122d\u0001\u0000\u0000\u0000\u1245\u1232"+
57330 "\u0001\u0000\u0000\u0000\u1245\u1236\u0001\u0000\u0000\u0000\u1245\u1238"+
57331 "\u0001\u0000\u0000\u0000\u1245\u123a\u0001\u0000\u0000\u0000\u1245\u123b"+
57332 "\u0001\u0000\u0000\u0000\u1245\u123c\u0001\u0000\u0000\u0000\u1245\u123d"+
57333 "\u0001\u0000\u0000\u0000\u1245\u123e\u0001\u0000\u0000\u0000\u1245\u123f"+
57334 "\u0001\u0000\u0000\u0000\u1245\u1240\u0001\u0000\u0000\u0000\u1245\u1241"+
57335 "\u0001\u0000\u0000\u0000\u1245\u1243\u0001\u0000\u0000\u0000\u1246\u027f"+
57336 "\u0001\u0000\u0000\u0000\u1247\u124c\u0003\u0286\u0143\u0000\u1248\u124c"+
57337 "\u0003\u020e\u0107\u0000\u1249\u124c\u0003\u0282\u0141\u0000\u124a\u124c"+
57338 "\u0003\u0284\u0142\u0000\u124b\u1247\u0001\u0000\u0000\u0000\u124b\u1248"+
57339 "\u0001\u0000\u0000\u0000\u124b\u1249\u0001\u0000\u0000\u0000\u124b\u124a"+
57340 "\u0001\u0000\u0000\u0000\u124c\u0281\u0001\u0000\u0000\u0000\u124d\u124e"+
57341 "\u00059\u0000\u0000\u124e\u124f\u0005\u0204\u0000\u0000\u124f\u1254\u0003"+
57342 "\u00e6s\u0000\u1250\u1251\u0005\u0202\u0000\u0000\u1251\u1255\u0005\u011f"+
57343 "\u0000\u0000\u1252\u1253\u0005\u0202\u0000\u0000\u1253\u1255\u0005\u0203"+
57344 "\u0000\u0000\u1254\u1250\u0001\u0000\u0000\u0000\u1254\u1252\u0001\u0000"+
57345 "\u0000\u0000\u1254\u1255\u0001\u0000\u0000\u0000\u1255\u1264\u0001\u0000"+
57346 "\u0000\u0000\u1256\u1257\u0005\u0235\u0000\u0000\u1257\u1258\u0005\u0204"+
57347 "\u0000\u0000\u1258\u1264\u0003\u00e6s\u0000\u1259\u125a\u0005\u023a\u0000"+
57348 "\u0000\u125a\u125b\u0005\u0204\u0000\u0000\u125b\u125c\u0003\u00e6s\u0000"+
57349 "\u125c\u125d\u0003\u0284\u0142\u0000\u125d\u1264\u0001\u0000\u0000\u0000"+
57350 "\u125e\u1264\u0005\u009a\u0000\u0000\u125f\u1260\u0005\u00aa\u0000\u0000"+
57351 "\u1260\u1261\u0005\u0018\u0000\u0000\u1261\u1264\u0003\u00e6s\u0000\u1262"+
57352 "\u1264\u0007E\u0000\u0000\u1263\u124d\u0001\u0000\u0000\u0000\u1263\u1256"+
57353 "\u0001\u0000\u0000\u0000\u1263\u1259\u0001\u0000\u0000\u0000\u1263\u125e"+
57354 "\u0001\u0000\u0000\u0000\u1263\u125f\u0001\u0000\u0000\u0000\u1263\u1262"+
57355 "\u0001\u0000\u0000\u0000\u1264\u0283\u0001\u0000\u0000\u0000\u1265\u1268"+
57356 "\u0007F\u0000\u0000\u1266\u1268\u0007A\u0000\u0000\u1267\u1265\u0001\u0000"+
57357 "\u0000\u0000\u1267\u1266\u0001\u0000\u0000\u0000\u1268\u0285\u0001\u0000"+
57358 "\u0000\u0000\u1269\u126a\u00059\u0000\u0000\u126a\u126b\u0005\u017a\u0000"+
57359 "\u0000\u126b\u1270\u0003\u020e\u0107\u0000\u126c\u126d\u0005%\u0000\u0000"+
57360 "\u126d\u126f\u0003\u020e\u0107\u0000\u126e\u126c\u0001\u0000\u0000\u0000"+
57361 "\u126f\u1272\u0001\u0000\u0000\u0000\u1270\u126e\u0001\u0000\u0000\u0000"+
57362 "\u1270\u1271\u0001\u0000\u0000\u0000\u1271\u1276\u0001\u0000\u0000\u0000"+
57363 "\u1272\u1270\u0001\u0000\u0000\u0000\u1273\u1274\u0005g\u0000\u0000\u1274"+
57364 "\u1275\u0005\u0204\u0000\u0000\u1275\u1277\u0003\u00e6s\u0000\u1276\u1273"+
57365 "\u0001\u0000\u0000\u0000\u1276\u1277\u0001\u0000\u0000\u0000\u1277\u128a"+
57366 "\u0001\u0000\u0000\u0000\u1278\u1279\u00059\u0000\u0000\u1279\u127a\u0005"+
57367 "\u018e\u0000\u0000\u127a\u127b\u0005\u017a\u0000\u0000\u127b\u1280\u0003"+
57368 "\u020e\u0107\u0000\u127c\u127d\u0005%\u0000\u0000\u127d\u127f\u0003\u020e"+
57369 "\u0107\u0000\u127e\u127c\u0001\u0000\u0000\u0000\u127f\u1282\u0001\u0000"+
57370 "\u0000\u0000\u1280\u127e\u0001\u0000\u0000\u0000\u1280\u1281\u0001\u0000"+
57371 "\u0000\u0000\u1281\u128a\u0001\u0000\u0000\u0000\u1282\u1280\u0001\u0000"+
57372 "\u0000\u0000\u1283\u1284\u0005\u0235\u0000\u0000\u1284\u1285\u0005\u017a"+
57373 "\u0000\u0000\u1285\u128a\u0005\u02d4\u0000\u0000\u1286\u1287\u0005\u023a"+
57374 "\u0000\u0000\u1287\u1288\u0005\u017a\u0000\u0000\u1288\u128a\u0003\u020e"+
57375 "\u0107\u0000\u1289\u1269\u0001\u0000\u0000\u0000\u1289\u1278\u0001\u0000"+
57376 "\u0000\u0000\u1289\u1283\u0001\u0000\u0000\u0000\u1289\u1286\u0001\u0000"+
57377 "\u0000\u0000\u128a\u0287\u0001\u0000\u0000\u0000\u128b\u128c\u0005\u023b"+
57378 "\u0000\u0000\u128c\u128d\u0005\u0018\u0000\u0000\u128d\u1294\u0007\u0000"+
57379 "\u0000\u0000\u128e\u128f\u0005\u001f\u0000\u0000\u128f\u1290\u0005\u023c"+
57380 "\u0000\u0000\u1290\u1291\u0005\u0018\u0000\u0000\u1291\u1292\u0003\u00e6"+
57381 "s\u0000\u1292\u1293\u0005 \u0000\u0000\u1293\u1295\u0001\u0000\u0000\u0000"+
57382 "\u1294\u128e\u0001\u0000\u0000\u0000\u1294\u1295\u0001\u0000\u0000\u0000"+
57383 "\u1295\u0289\u0001\u0000\u0000\u0000\u1296\u1297\u0005\u0277\u0000\u0000"+
57384 "\u1297\u12ab\u0007\u0000\u0000\u0000\u1298\u12a2\u0005\u0275\u0000\u0000"+
57385 "\u1299\u12a3\u0005b\u0000\u0000\u129a\u12a0\u0005a\u0000\u0000\u129b\u129c"+
57386 "\u0005\u001f\u0000\u0000\u129c\u129d\u0005\u0276\u0000\u0000\u129d\u129e"+
57387 "\u0005\u0018\u0000\u0000\u129e\u129f\u0007\u0000\u0000\u0000\u129f\u12a1"+
57388 "\u0005 \u0000\u0000\u12a0\u129b\u0001\u0000\u0000\u0000\u12a0\u12a1\u0001"+
57389 "\u0000\u0000\u0000\u12a1\u12a3\u0001\u0000\u0000\u0000\u12a2\u1299\u0001"+
57390 "\u0000\u0000\u0000\u12a2\u129a\u0001\u0000\u0000\u0000\u12a3\u12ab\u0001"+
57391 "\u0000\u0000\u0000\u12a4\u12a5\u0005\u0274\u0000\u0000\u12a5\u12ab\u0007"+
57392 "\u0000\u0000\u0000\u12a6\u12a7\u0005\u0273\u0000\u0000\u12a7\u12ab\u0007"+
57393 "\u0000\u0000\u0000\u12a8\u12a9\u0005\u0272\u0000\u0000\u12a9\u12ab\u0007"+
57394 "\u0000\u0000\u0000\u12aa\u1296\u0001\u0000\u0000\u0000\u12aa\u1298\u0001"+
57395 "\u0000\u0000\u0000\u12aa\u12a4\u0001\u0000\u0000\u0000\u12aa\u12a6\u0001"+
57396 "\u0000\u0000\u0000\u12aa\u12a8\u0001\u0000\u0000\u0000\u12ab\u028b\u0001"+
57397 "\u0000\u0000\u0000\u12ac\u12ad\u0005\u0270\u0000\u0000\u12ad\u12ae\u0005"+
57398 "\u001f\u0000\u0000\u12ae\u12af\u0005\u0271\u0000\u0000\u12af\u12b0\u0005"+
57399 "\u0018\u0000\u0000\u12b0\u12b1\u0007\u0000\u0000\u0000\u12b1\u12b2\u0005"+
57400 " \u0000\u0000\u12b2\u028d\u0001\u0000\u0000\u0000\u12b3\u12c7\u0005\u026f"+
57401 "\u0000\u0000\u12b4\u12b5\u0005\u0018\u0000\u0000\u12b5\u12c8\u0005b\u0000"+
57402 "\u0000\u12b6\u12b7\u0005\u0018\u0000\u0000\u12b7\u12b9\u0005a\u0000\u0000"+
57403 "\u12b8\u12b6\u0001\u0000\u0000\u0000\u12b8\u12b9\u0001\u0000\u0000\u0000"+
57404 "\u12b9\u12c5\u0001\u0000\u0000\u0000\u12ba\u12bb\u0005\u001f\u0000\u0000"+
57405 "\u12bb\u12c0\u0003\u0290\u0148\u0000\u12bc\u12bd\u0005%\u0000\u0000\u12bd"+
57406 "\u12bf\u0003\u0290\u0148\u0000\u12be\u12bc\u0001\u0000\u0000\u0000\u12bf"+
57407 "\u12c2\u0001\u0000\u0000\u0000\u12c0\u12be\u0001\u0000\u0000\u0000\u12c0"+
57408 "\u12c1\u0001\u0000\u0000\u0000\u12c1\u12c3\u0001\u0000\u0000\u0000\u12c2"+
57409 "\u12c0\u0001\u0000\u0000\u0000\u12c3\u12c4\u0005 \u0000\u0000\u12c4\u12c6"+
57410 "\u0001\u0000\u0000\u0000\u12c5\u12ba\u0001\u0000\u0000\u0000\u12c5\u12c6"+
57411 "\u0001\u0000\u0000\u0000\u12c6\u12c8\u0001\u0000\u0000\u0000\u12c7\u12b4"+
57412 "\u0001\u0000\u0000\u0000\u12c7\u12b8\u0001\u0000\u0000\u0000\u12c8\u028f"+
57413 "\u0001\u0000\u0000\u0000\u12c9\u12ca\u0005\u026e\u0000\u0000\u12ca\u12cb"+
57414 "\u0005\u0018\u0000\u0000\u12cb\u12d1\u0007\u0000\u0000\u0000\u12cc\u12cd"+
57415 "\u0005\u026d\u0000\u0000\u12cd\u12ce\u0005\u0018\u0000\u0000\u12ce\u12cf"+
57416 "\u0005\u02d5\u0000\u0000\u12cf\u12d1\u0007G\u0000\u0000\u12d0\u12c9\u0001"+
57417 "\u0000\u0000\u0000\u12d0\u12cc\u0001\u0000\u0000\u0000\u12d1\u0291\u0001"+
57418 "\u0000\u0000\u0000\u12d2\u12d3\u0005\u026b\u0000\u0000\u12d3\u12d7\u0007"+
57419 "\u0000\u0000\u0000\u12d4\u12d5\u0005\u0269\u0000\u0000\u12d5\u12d7\u0007"+
57420 "H\u0000\u0000\u12d6\u12d2\u0001\u0000\u0000\u0000\u12d6\u12d4\u0001\u0000"+
57421 "\u0000\u0000\u12d7\u0293\u0001\u0000\u0000\u0000\u12d8\u12d9\u0005\u0206"+
57422 "\u0000\u0000\u12d9\u12ec\u0007\u0000\u0000\u0000\u12da\u12db\u0005\u0207"+
57423 "\u0000\u0000\u12db\u12ec\u0007\u0000\u0000\u0000\u12dc\u12dd\u0005\u0291"+
57424 "\u0000\u0000\u12dd\u12de\u0005\u0018\u0000\u0000\u12de\u12ec\u0005\u02d4"+
57425 "\u0000\u0000\u12df\u12e0\u0005\u0292\u0000\u0000\u12e0\u12e1\u0005\u0018"+
57426 "\u0000\u0000\u12e1\u12ec\u0005\u02d4\u0000\u0000\u12e2\u12e3\u0005\u0294"+
57427 "\u0000\u0000\u12e3\u12e4\u0005\u0018\u0000\u0000\u12e4\u12ec\u0007\u0000"+
57428 "\u0000\u0000\u12e5\u12e6\u0005\u0295\u0000\u0000\u12e6\u12e7\u0005\u0018"+
57429 "\u0000\u0000\u12e7\u12ec\u0007\u0000\u0000\u0000\u12e8\u12e9\u0005\u0296"+
57430 "\u0000\u0000\u12e9\u12ea\u0005\u0018\u0000\u0000\u12ea\u12ec\u0005\u02d5"+
57431 "\u0000\u0000\u12eb\u12d8\u0001\u0000\u0000\u0000\u12eb\u12da\u0001\u0000"+
57432 "\u0000\u0000\u12eb\u12dc\u0001\u0000\u0000\u0000\u12eb\u12df\u0001\u0000"+
57433 "\u0000\u0000\u12eb\u12e2\u0001\u0000\u0000\u0000\u12eb\u12e5\u0001\u0000"+
57434 "\u0000\u0000\u12eb\u12e8\u0001\u0000\u0000\u0000\u12ec\u0295\u0001\u0000"+
57435 "\u0000\u0000\u12ed\u1301\u0005\u0268\u0000\u0000\u12ee\u12ef\u0005\u0018"+
57436 "\u0000\u0000\u12ef\u1302\u0005b\u0000\u0000\u12f0\u12f1\u0005\u0018\u0000"+
57437 "\u0000\u12f1\u12f3\u0005a\u0000\u0000\u12f2\u12f0\u0001\u0000\u0000\u0000"+
57438 "\u12f2\u12f3\u0001\u0000\u0000\u0000\u12f3\u12ff\u0001\u0000\u0000\u0000"+
57439 "\u12f4\u12f5\u0005\u001f\u0000\u0000\u12f5\u12fa\u0003\u0298\u014c\u0000"+
57440 "\u12f6\u12f7\u0005%\u0000\u0000\u12f7\u12f9\u0003\u0298\u014c\u0000\u12f8"+
57441 "\u12f6\u0001\u0000\u0000\u0000\u12f9\u12fc\u0001\u0000\u0000\u0000\u12fa"+
57442 "\u12f8\u0001\u0000\u0000\u0000\u12fa\u12fb\u0001\u0000\u0000\u0000\u12fb"+
57443 "\u12fd\u0001\u0000\u0000\u0000\u12fc\u12fa\u0001\u0000\u0000\u0000\u12fd"+
57444 "\u12fe\u0005 \u0000\u0000\u12fe\u1300\u0001\u0000\u0000\u0000\u12ff\u12f4"+
57445 "\u0001\u0000\u0000\u0000\u12ff\u1300\u0001\u0000\u0000\u0000\u1300\u1302"+
57446 "\u0001\u0000\u0000\u0000\u1301\u12ee\u0001\u0000\u0000\u0000\u1301\u12f2"+
57447 "\u0001\u0000\u0000\u0000\u1302\u0297\u0001\u0000\u0000\u0000\u1303\u1304"+
57448 "\u0005\u0267\u0000\u0000\u1304\u1305\u0005\u0018\u0000\u0000\u1305\u1330"+
57449 "\u0007A\u0000\u0000\u1306\u1307\u0005\u0264\u0000\u0000\u1307\u1308\u0005"+
57450 "\u0018\u0000\u0000\u1308\u1309\u0005\u001f\u0000\u0000\u1309\u130a\u0005"+
57451 "\u0266\u0000\u0000\u130a\u130b\u0005\u0018\u0000\u0000\u130b\u130c\u0005"+
57452 "\u02d5\u0000\u0000\u130c\u1330\u0005 \u0000\u0000\u130d\u130e\u0005\u0263"+
57453 "\u0000\u0000\u130e\u130f\u0005\u0018\u0000\u0000\u130f\u1330\u0005\u02d5"+
57454 "\u0000\u0000\u1310\u1311\u0005\u0262\u0000\u0000\u1311\u1312\u0005\u0018"+
57455 "\u0000\u0000\u1312\u1330\u0005\u02d5\u0000\u0000\u1313\u1314\u0005\u0261"+
57456 "\u0000\u0000\u1314\u1315\u0005\u0018\u0000\u0000\u1315\u1330\u0005\u02d5"+
57457 "\u0000\u0000\u1316\u1317\u0005\u0260\u0000\u0000\u1317\u1318\u0005\u0018"+
57458 "\u0000\u0000\u1318\u1330\u0007I\u0000\u0000\u1319\u131a\u0005\u025f\u0000"+
57459 "\u0000\u131a\u131b\u0005\u0018\u0000\u0000\u131b\u1330\u0007J\u0000\u0000"+
57460 "\u131c\u131d\u0005\u025e\u0000\u0000\u131d\u131e\u0005\u0018\u0000\u0000"+
57461 "\u131e\u1330\u0005\u02d5\u0000\u0000\u131f\u1320\u0005\u025d\u0000\u0000"+
57462 "\u1320\u1321\u0005\u0018\u0000\u0000\u1321\u1330\u0007\u0000\u0000\u0000"+
57463 "\u1322\u1323\u0005\u025c\u0000\u0000\u1323\u1324\u0005\u0018\u0000\u0000"+
57464 "\u1324\u1325\u0005\u001f\u0000\u0000\u1325\u132a\u0003\u029a\u014d\u0000"+
57465 "\u1326\u1327\u0005%\u0000\u0000\u1327\u1329\u0003\u029a\u014d\u0000\u1328"+
57466 "\u1326\u0001\u0000\u0000\u0000\u1329\u132c\u0001\u0000\u0000\u0000\u132a"+
57467 "\u1328\u0001\u0000\u0000\u0000\u132a\u132b\u0001\u0000\u0000\u0000\u132b"+
57468 "\u132d\u0001\u0000\u0000\u0000\u132c\u132a\u0001\u0000\u0000\u0000\u132d"+
57469 "\u132e\u0005 \u0000\u0000\u132e\u1330\u0001\u0000\u0000\u0000\u132f\u1303"+
57470 "\u0001\u0000\u0000\u0000\u132f\u1306\u0001\u0000\u0000\u0000\u132f\u130d"+
57471 "\u0001\u0000\u0000\u0000\u132f\u1310\u0001\u0000\u0000\u0000\u132f\u1313"+
57472 "\u0001\u0000\u0000\u0000\u132f\u1316\u0001\u0000\u0000\u0000\u132f\u1319"+
57473 "\u0001\u0000\u0000\u0000\u132f\u131c\u0001\u0000\u0000\u0000\u132f\u131f"+
57474 "\u0001\u0000\u0000\u0000\u132f\u1322\u0001\u0000\u0000\u0000\u1330\u0299"+
57475 "\u0001\u0000\u0000\u0000\u1331\u1332\u0005\u025a\u0000\u0000\u1332\u1333"+
57476 "\u0005\u0018\u0000\u0000\u1333\u1334\u0005\u02d5\u0000\u0000\u1334\u133f"+
57477 "\u0007K\u0000\u0000\u1335\u1336\u0005\u025b\u0000\u0000\u1336\u1337\u0005"+
57478 "\u0018\u0000\u0000\u1337\u133f\u0005\u02d5\u0000\u0000\u1338\u1339\u0005"+
57479 "\u0259\u0000\u0000\u1339\u133a\u0005\u0018\u0000\u0000\u133a\u133f\u0005"+
57480 "\u02d5\u0000\u0000\u133b\u133c\u0005\u0258\u0000\u0000\u133c\u133d\u0005"+
57481 "\u0018\u0000\u0000\u133d\u133f\u0005\u02d5\u0000\u0000\u133e\u1331\u0001"+
57482 "\u0000\u0000\u0000\u133e\u1335\u0001\u0000\u0000\u0000\u133e\u1338\u0001"+
57483 "\u0000\u0000\u0000\u133e\u133b\u0001\u0000\u0000\u0000\u133f\u029b\u0001"+
57484 "\u0000\u0000\u0000\u1340\u1341\u0005\u0257\u0000\u0000\u1341\u1347\u0007"+
57485 "L\u0000\u0000\u1342\u1343\u0005\u0255\u0000\u0000\u1343\u1347\u0007\u0000"+
57486 "\u0000\u0000\u1344\u1345\u0005\u0253\u0000\u0000\u1345\u1347\u0007M\u0000"+
57487 "\u0000\u1346\u1340\u0001\u0000\u0000\u0000\u1346\u1342\u0001\u0000\u0000"+
57488 "\u0000\u1346\u1344\u0001\u0000\u0000\u0000\u1347\u029d\u0001\u0000\u0000"+
57489 "\u0000\u1348\u1349\u0005\u0252\u0000\u0000\u1349\u135e\u0007\u0000\u0000"+
57490 "\u0000\u134a\u134b\u0005\u0251\u0000\u0000\u134b\u135e\u0007\u0000\u0000"+
57491 "\u0000\u134c\u134d\u0005\u0250\u0000\u0000\u134d\u135e\u0007\u0000\u0000"+
57492 "\u0000\u134e\u134f\u0005\u024f\u0000\u0000\u134f\u135e\u0007\u0000\u0000"+
57493 "\u0000\u1350\u1351\u0005\u024e\u0000\u0000\u1351\u135e\u0007\u0000\u0000"+
57494 "\u0000\u1352\u1353\u0005\u024d\u0000\u0000\u1353\u1354\u0005\u0018\u0000"+
57495 "\u0000\u1354\u135e\u0005\u02d5\u0000\u0000\u1355\u1356\u0005\u024c\u0000"+
57496 "\u0000\u1356\u135e\u0007\u0000\u0000\u0000\u1357\u1358\u0005\u024b\u0000"+
57497 "\u0000\u1358\u135e\u0007\u0000\u0000\u0000\u1359\u135a\u0005\u024a\u0000"+
57498 "\u0000\u135a\u135e\u0007\u0000\u0000\u0000\u135b\u135c\u0005\u0249\u0000"+
57499 "\u0000\u135c\u135e\u0007\u0000\u0000\u0000\u135d\u1348\u0001\u0000\u0000"+
57500 "\u0000\u135d\u134a\u0001\u0000\u0000\u0000\u135d\u134c\u0001\u0000\u0000"+
57501 "\u0000\u135d\u134e\u0001\u0000\u0000\u0000\u135d\u1350\u0001\u0000\u0000"+
57502 "\u0000\u135d\u1352\u0001\u0000\u0000\u0000\u135d\u1355\u0001\u0000\u0000"+
57503 "\u0000\u135d\u1357\u0001\u0000\u0000\u0000\u135d\u1359\u0001\u0000\u0000"+
57504 "\u0000\u135d\u135b\u0001\u0000\u0000\u0000\u135e\u029f\u0001\u0000\u0000"+
57505 "\u0000\u135f\u1360\u0005\u0248\u0000\u0000\u1360\u1367\u0007\u0000\u0000"+
57506 "\u0000\u1361\u1362\u0005\u0247\u0000\u0000\u1362\u1367\u0007\u0000\u0000"+
57507 "\u0000\u1363\u1364\u0005\u0246\u0000\u0000\u1364\u1365\u0005\u0018\u0000"+
57508 "\u0000\u1365\u1367\u0007\u0000\u0000\u0000\u1366\u135f\u0001\u0000\u0000"+
57509 "\u0000\u1366\u1361\u0001\u0000\u0000\u0000\u1366\u1363\u0001\u0000\u0000"+
57510 "\u0000\u1367\u02a1\u0001\u0000\u0000\u0000\u1368\u136f\u0005\u0245\u0000"+
57511 "\u0000\u1369\u136f\u0005\u0244\u0000\u0000\u136a\u136f\u0005\u0243\u0000"+
57512 "\u0000\u136b\u136f\u0005\u0242\u0000\u0000\u136c\u136d\u0005\u0241\u0000"+
57513 "\u0000\u136d\u136f\u0007\u0000\u0000\u0000\u136e\u1368\u0001\u0000\u0000"+
57514 "\u0000\u136e\u1369\u0001\u0000\u0000\u0000\u136e\u136a\u0001\u0000\u0000"+
57515 "\u0000\u136e\u136b\u0001\u0000\u0000\u0000\u136e\u136c\u0001\u0000\u0000"+
57516 "\u0000\u136f\u02a3\u0001\u0000\u0000\u0000\u1370\u1371\u0005\u023f\u0000"+
57517 "\u0000\u1371\u1372\u0005\u0018\u0000\u0000\u1372\u1373\u0005\u02d5\u0000"+
57518 "\u0000\u1373\u1374\u0007N\u0000\u0000\u1374\u02a5\u0001\u0000\u0000\u0000"+
57519 "\u1375\u1376\u0005\u007f\u0000\u0000\u1376\u1377\u0005\u0222\u0000\u0000"+
57520 "\u1377\u1379\u0005\u02d5\u0000\u0000\u1378\u137a\u0005\u0240\u0000\u0000"+
57521 "\u1379\u1378\u0001\u0000\u0000\u0000\u1379\u137a\u0001\u0000\u0000\u0000"+
57522 "\u137a\u137f\u0001\u0000\u0000\u0000\u137b\u137c\u0005\u007f\u0000\u0000"+
57523 "\u137c\u137f\u0005\u023d\u0000\u0000\u137d\u137f\u0005\u023e\u0000\u0000"+
57524 "\u137e\u1375\u0001\u0000\u0000\u0000\u137e\u137b\u0001\u0000\u0000\u0000"+
57525 "\u137e\u137d\u0001\u0000\u0000\u0000\u137f\u02a7\u0001\u0000\u0000\u0000"+
57526 "\u1380\u1381\u0005\u001f\u0000\u0000\u1381\u1386\u0003D\"\u0000\u1382"+
57527 "\u1383\u0005%\u0000\u0000\u1383\u1385\u0003D\"\u0000\u1384\u1382\u0001"+
57528 "\u0000\u0000\u0000\u1385\u1388\u0001\u0000\u0000\u0000\u1386\u1384\u0001"+
57529 "\u0000\u0000\u0000\u1386\u1387\u0001\u0000\u0000\u0000\u1387\u1389\u0001"+
57530 "\u0000\u0000\u0000\u1388\u1386\u0001\u0000\u0000\u0000\u1389\u138a\u0005"+
57531 " \u0000\u0000\u138a\u02a9\u0001\u0000\u0000\u0000\u138b\u138c\u0005\u001f"+
57532 "\u0000\u0000\u138c\u1391\u0003\u02ac\u0156\u0000\u138d\u138e\u0005%\u0000"+
57533 "\u0000\u138e\u1390\u0003\u02ac\u0156\u0000\u138f\u138d\u0001\u0000\u0000"+
57534 "\u0000\u1390\u1393\u0001\u0000\u0000\u0000\u1391\u138f\u0001\u0000\u0000"+
57535 "\u0000\u1391\u1392\u0001\u0000\u0000\u0000\u1392\u1394\u0001\u0000\u0000"+
57536 "\u0000\u1393\u1391\u0001\u0000\u0000\u0000\u1394\u1395\u0005 \u0000\u0000"+
57537 "\u1395\u02ab\u0001\u0000\u0000\u0000\u1396\u1397\u00059\u0000\u0000\u1397"+
57538 "\u1398\u0005\u0175\u0000\u0000\u1398\u139d\u0003D\"\u0000\u1399\u139a"+
57539 "\u00054\u0000\u0000\u139a\u139b\u0005\u0175\u0000\u0000\u139b\u139d\u0003"+
57540 "D\"\u0000\u139c\u1396\u0001\u0000\u0000\u0000\u139c\u1399\u0001\u0000"+
57541 "\u0000\u0000\u139d\u02ad\u0001\u0000\u0000\u0000\u139e\u13a6\u00034\u001a"+
57542 "\u0000\u139f\u13a0\u0005\u029b\u0000\u0000\u13a0\u13a6\u0003\u00e6s\u0000"+
57543 "\u13a1\u13a2\u00034\u001a\u0000\u13a2\u13a3\u0005\u029b\u0000\u0000\u13a3"+
57544 "\u13a4\u0003\u00e6s\u0000\u13a4\u13a6\u0001\u0000\u0000\u0000\u13a5\u139e"+
57545 "\u0001\u0000\u0000\u0000\u13a5\u139f\u0001\u0000\u0000\u0000\u13a5\u13a1"+
57546 "\u0001\u0000\u0000\u0000\u13a6\u02af\u0001\u0000\u0000\u0000\u13a7\u13ad"+
57547 "\u0003\u0104\u0082\u0000\u13a8\u13ad\u0003\u0110\u0088\u0000\u13a9\u13ad"+
57548 "\u0003\u0334\u019a\u0000\u13aa\u13ad\u0003\u0346\u01a3\u0000\u13ab\u13ad"+
57549 "\u0003\u034c\u01a6\u0000\u13ac\u13a7\u0001\u0000\u0000\u0000\u13ac\u13a8"+
57550 "\u0001\u0000\u0000\u0000\u13ac\u13a9\u0001\u0000\u0000\u0000\u13ac\u13aa"+
57551 "\u0001\u0000\u0000\u0000\u13ac\u13ab\u0001\u0000\u0000\u0000\u13ad\u02b1"+
57552 "\u0001\u0000\u0000\u0000\u13ae\u13b1\u0003\u02b4\u015a\u0000\u13af\u13b1"+
57553 "\u0003\u02b6\u015b\u0000\u13b0\u13ae\u0001\u0000\u0000\u0000\u13b0\u13af"+
57554 "\u0001\u0000\u0000\u0000\u13b1\u02b3\u0001\u0000\u0000\u0000\u13b2\u13b3"+
57555 "\u00052\u0000\u0000\u13b3\u13b4\u0005;\u0000\u0000\u13b4\u13b6\u0003@"+
57556 " \u0000\u13b5\u13b7\u0003P(\u0000\u13b6\u13b5\u0001\u0000\u0000\u0000"+
57557 "\u13b6\u13b7\u0001\u0000\u0000\u0000\u13b7\u13b8\u0001\u0000\u0000\u0000"+
57558 "\u13b8\u13b9\u0003\u02b8\u015c\u0000\u13b9\u13ba\u0005`\u0000\u0000\u13ba"+
57559 "\u13bb\u0003\u02de\u016f\u0000\u13bb\u13bc\u0003\u02ba\u015d\u0000\u13bc"+
57560 "\u02b5\u0001\u0000\u0000\u0000\u13bd\u13be\u00052\u0000\u0000\u13be\u13bf"+
57561 "\u0005\u0181\u0000\u0000\u13bf\u13c0\u0005;\u0000\u0000\u13c0\u13c1\u0003"+
57562 "@ \u0000\u13c1\u13c2\u0005\u00d4\u0000\u0000\u13c2\u13c3\u0005\u001f\u0000"+
57563 "\u0000\u13c3\u13c4\u0003\u001c\u000e\u0000\u13c4\u13cb\u0005 \u0000\u0000"+
57564 "\u13c5\u13c6\u0005M\u0000\u0000\u13c6\u13c7\u0005\u001f\u0000\u0000\u13c7"+
57565 "\u13c8\u0005\u029f\u0000\u0000\u13c8\u13c9\u0005\u0018\u0000\u0000\u13c9"+
57566 "\u13ca\u0005\u02d6\u0000\u0000\u13ca\u13cc\u0005 \u0000\u0000\u13cb\u13c5"+
57567 "\u0001\u0000\u0000\u0000\u13cb\u13cc\u0001\u0000\u0000\u0000\u13cc\u13cd"+
57568 "\u0001\u0000\u0000\u0000\u13cd\u13ce\u0005`\u0000\u0000\u13ce\u13cf\u0003"+
57569 "\u02de\u016f\u0000\u13cf\u02b7\u0001\u0000\u0000\u0000\u13d0\u13d1\u0005"+
57570 "M\u0000\u0000\u13d1\u13d2\u0005\u001f\u0000\u0000\u13d2\u13dc\u0003\u01b8"+
57571 "\u00dc\u0000\u13d3\u13d4\u0005%\u0000\u0000\u13d4\u13d9\u0003\u01ac\u00d6"+
57572 "\u0000\u13d5\u13d6\u0005%\u0000\u0000\u13d6\u13d8\u0003\u01ac\u00d6\u0000"+
57573 "\u13d7\u13d5\u0001\u0000\u0000\u0000\u13d8\u13db\u0001\u0000\u0000\u0000"+
57574 "\u13d9\u13d7\u0001\u0000\u0000\u0000\u13d9\u13da\u0001\u0000\u0000\u0000"+
57575 "\u13da\u13dd\u0001\u0000\u0000\u0000\u13db\u13d9\u0001\u0000\u0000\u0000"+
57576 "\u13dc\u13d3\u0001\u0000\u0000\u0000\u13dc\u13dd\u0001\u0000\u0000\u0000"+
57577 "\u13dd\u13de\u0001\u0000\u0000\u0000\u13de\u13df\u0005 \u0000\u0000\u13df"+
57578 "\u02b9\u0001\u0000\u0000\u0000\u13e0\u13e1\u0005\u0102\u0000\u0000\u13e1"+
57579 "\u13e2\u0005\u001f\u0000\u0000\u13e2\u13e7\u0003\u031c\u018e\u0000\u13e3"+
57580 "\u13e4\u0005%\u0000\u0000\u13e4\u13e6\u0003\u031c\u018e\u0000\u13e5\u13e3"+
57581 "\u0001\u0000\u0000\u0000\u13e6\u13e9\u0001\u0000\u0000\u0000\u13e7\u13e5"+
57582 "\u0001\u0000\u0000\u0000\u13e7\u13e8\u0001\u0000\u0000\u0000\u13e8\u13ea"+
57583 "\u0001\u0000\u0000\u0000\u13e9\u13e7\u0001\u0000\u0000\u0000\u13ea\u13eb"+
57584 "\u0005 \u0000\u0000\u13eb\u13ed\u0001\u0000\u0000\u0000\u13ec\u13e0\u0001"+
57585 "\u0000\u0000\u0000\u13ec\u13ed\u0001\u0000\u0000\u0000\u13ed\u02bb\u0001"+
57586 "\u0000\u0000\u0000\u13ee\u13f0\u0003\u030a\u0185\u0000\u13ef\u13ee\u0001"+
57587 "\u0000\u0000\u0000\u13ef\u13f0\u0001\u0000\u0000\u0000\u13f0\u13f1\u0001"+
57588 "\u0000\u0000\u0000\u13f1\u13f3\u0005/\u0000\u0000\u13f2\u13f4\u0003\u02ea"+
57589 "\u0175\u0000\u13f3\u13f2\u0001\u0000\u0000\u0000\u13f3\u13f4\u0001\u0000"+
57590 "\u0000\u0000\u13f4\u13f6\u0001\u0000\u0000\u0000\u13f5\u13f7\u0005K\u0000"+
57591 "\u0000\u13f6\u13f5\u0001\u0000\u0000\u0000\u13f6\u13f7\u0001\u0000\u0000"+
57592 "\u0000\u13f7\u13f8\u0001\u0000\u0000\u0000\u13f8\u13fd\u0003@ \u0000\u13f9"+
57593 "\u13fb\u0005`\u0000\u0000\u13fa\u13f9\u0001\u0000\u0000\u0000\u13fa\u13fb"+
57594 "\u0001\u0000\u0000\u0000\u13fb\u13fc\u0001\u0000\u0000\u0000\u13fc\u13fe"+
57595 "\u0003\\.\u0000\u13fd\u13fa\u0001\u0000\u0000\u0000\u13fd\u13fe\u0001"+
57596 "\u0000\u0000\u0000\u13fe\u1400\u0001\u0000\u0000\u0000\u13ff\u1401\u0003"+
57597 "\u02c6\u0163\u0000\u1400\u13ff\u0001\u0000\u0000\u0000\u1400\u1401\u0001"+
57598 "\u0000\u0000\u0000\u1401\u1406\u0001\u0000\u0000\u0000\u1402\u1407\u0003"+
57599 "\u02be\u015f\u0000\u1403\u1407\u0003\u02c0\u0160\u0000\u1404\u1407\u0003"+
57600 "\u02c2\u0161\u0000\u1405\u1407\u0003\u02c4\u0162\u0000\u1406\u1402\u0001"+
57601 "\u0000\u0000\u0000\u1406\u1403\u0001\u0000\u0000\u0000\u1406\u1404\u0001"+
57602 "\u0000\u0000\u0000\u1406\u1405\u0001\u0000\u0000\u0000\u1407\u02bd\u0001"+
57603 "\u0000\u0000\u0000\u1408\u140a\u0003P(\u0000\u1409\u1408\u0001\u0000\u0000"+
57604 "\u0000\u1409\u140a\u0001\u0000\u0000\u0000\u140a\u140c\u0001\u0000\u0000"+
57605 "\u0000\u140b\u140d\u0003\u0310\u0188\u0000\u140c\u140b\u0001\u0000\u0000"+
57606 "\u0000\u140c\u140d\u0001\u0000\u0000\u0000\u140d\u140e\u0001\u0000\u0000"+
57607 "\u0000\u140e\u140f\u0005\u009a\u0000\u0000\u140f\u1410\u0005L\u0000\u0000"+
57608 "\u1410\u02bf\u0001\u0000\u0000\u0000\u1411\u1413\u0003P(\u0000\u1412\u1411"+
57609 "\u0001\u0000\u0000\u0000\u1412\u1413\u0001\u0000\u0000\u0000\u1413\u1415"+
57610 "\u0001\u0000\u0000\u0000\u1414\u1416\u0003\u0310\u0188\u0000\u1415\u1414"+
57611 "\u0001\u0000\u0000\u0000\u1415\u1416\u0001\u0000\u0000\u0000\u1416\u1417"+
57612 "\u0001\u0000\u0000\u0000\u1417\u1418\u0005L\u0000\u0000\u1418\u141d\u0003"+
57613 "\u02d0\u0168\u0000\u1419\u141a\u0005%\u0000\u0000\u141a\u141c\u0003\u02d0"+
57614 "\u0168\u0000\u141b\u1419\u0001\u0000\u0000\u0000\u141c\u141f\u0001\u0000"+
57615 "\u0000\u0000\u141d\u141b\u0001\u0000\u0000\u0000\u141d\u141e\u0001\u0000"+
57616 "\u0000\u0000\u141e\u02c1\u0001\u0000\u0000\u0000\u141f\u141d\u0001\u0000"+
57617 "\u0000\u0000\u1420\u1422\u0003P(\u0000\u1421\u1420\u0001\u0000\u0000\u0000"+
57618 "\u1421\u1422\u0001\u0000\u0000\u0000\u1422\u1424\u0001\u0000\u0000\u0000"+
57619 "\u1423\u1425\u0003\u0310\u0188\u0000\u1424\u1423\u0001\u0000\u0000\u0000"+
57620 "\u1424\u1425\u0001\u0000\u0000\u0000\u1425\u1426\u0001\u0000\u0000\u0000"+
57621 "\u1426\u1427\u0003\u02de\u016f\u0000\u1427\u02c3\u0001\u0000\u0000\u0000"+
57622 "\u1428\u142a\u0003P(\u0000\u1429\u1428\u0001\u0000\u0000\u0000\u1429\u142a"+
57623 "\u0001\u0000\u0000\u0000\u142a\u142b\u0001\u0000\u0000\u0000\u142b\u142c"+
57624 "\u0003\u02c8\u0164\u0000\u142c\u02c5\u0001\u0000\u0000\u0000\u142d\u142f"+
57625 "\u0005M\u0000\u0000\u142e\u142d\u0001\u0000\u0000\u0000\u142e\u142f\u0001"+
57626 "\u0000\u0000\u0000\u142f\u1430\u0001\u0000\u0000\u0000\u1430\u1432\u0005"+
57627 "\u001f\u0000\u0000\u1431\u1433\u0003\u00fc~\u0000\u1432\u1431\u0001\u0000"+
57628 "\u0000\u0000\u1433\u1434\u0001\u0000\u0000\u0000\u1434\u1432\u0001\u0000"+
57629 "\u0000\u0000\u1434\u1435\u0001\u0000\u0000\u0000\u1435\u1436\u0001\u0000"+
57630 "\u0000\u0000\u1436\u1437\u0005 \u0000\u0000\u1437\u02c7\u0001\u0000\u0000"+
57631 "\u0000\u1438\u1439\u0007 \u0000\u0000\u1439\u1442\u00038\u001c\u0000\u143a"+
57632 "\u143f\u0003b1\u0000\u143b\u143c\u0005%\u0000\u0000\u143c\u143e\u0003"+
57633 "b1\u0000\u143d\u143b\u0001\u0000\u0000\u0000\u143e\u1441\u0001\u0000\u0000"+
57634 "\u0000\u143f\u143d\u0001\u0000\u0000\u0000\u143f\u1440\u0001\u0000\u0000"+
57635 "\u0000\u1440\u1443\u0001\u0000\u0000\u0000\u1441\u143f\u0001\u0000\u0000"+
57636 "\u0000\u1442\u143a\u0001\u0000\u0000\u0000\u1442\u1443\u0001\u0000\u0000"+
57637 "\u0000\u1443\u02c9\u0001\u0000\u0000\u0000\u1444\u1446\u0003\u030a\u0185"+
57638 "\u0000\u1445\u1444\u0001\u0000\u0000\u0000\u1445\u1446\u0001\u0000\u0000"+
57639 "\u0000\u1446\u1447\u0001\u0000\u0000\u0000\u1447\u1449\u00050\u0000\u0000"+
57640 "\u1448\u144a\u0003\u02ea\u0175\u0000\u1449\u1448\u0001\u0000\u0000\u0000"+
57641 "\u1449\u144a\u0001\u0000\u0000\u0000\u144a\u144b\u0001\u0000\u0000\u0000"+
57642 "\u144b\u144d\u0003\u02f6\u017b\u0000\u144c\u144e\u0003\u02c6\u0163\u0000"+
57643 "\u144d\u144c\u0001\u0000\u0000\u0000\u144d\u144e\u0001\u0000\u0000\u0000"+
57644 "\u144e\u144f\u0001\u0000\u0000\u0000\u144f\u1451\u0003\u02ce\u0167\u0000"+
57645 "\u1450\u1452\u0003\u0310\u0188\u0000\u1451\u1450\u0001\u0000\u0000\u0000"+
57646 "\u1451\u1452\u0001\u0000\u0000\u0000\u1452\u1454\u0001\u0000\u0000\u0000"+
57647 "\u1453\u1455\u0003\u0300\u0180\u0000\u1454\u1453\u0001\u0000\u0000\u0000"+
57648 "\u1454\u1455\u0001\u0000\u0000\u0000\u1455\u1457\u0001\u0000\u0000\u0000"+
57649 "\u1456\u1458\u0003\u02d6\u016b\u0000\u1457\u1456\u0001\u0000\u0000\u0000"+
57650 "\u1457\u1458\u0001\u0000\u0000\u0000\u1458\u02cb\u0001\u0000\u0000\u0000"+
57651 "\u1459\u145f\u0003H$\u0000\u145a\u145c\u0007O\u0000\u0000\u145b\u145a"+
57652 "\u0001\u0000\u0000\u0000\u145b\u145c\u0001\u0000\u0000\u0000\u145c\u145d"+
57653 "\u0001\u0000\u0000\u0000\u145d\u1460\u0005\u0018\u0000\u0000\u145e\u1460"+
57654 "\u0005\u0014\u0000\u0000\u145f\u145b\u0001\u0000\u0000\u0000\u145f\u145e"+
57655 "\u0001\u0000\u0000\u0000\u1460\u1461\u0001\u0000\u0000\u0000\u1461\u1462"+
57656 "\u0003\u02d2\u0169\u0000\u1462\u02cd\u0001\u0000\u0000\u0000\u1463\u1464"+
57657 "\u0005:\u0000\u0000\u1464\u1469\u0003\u02cc\u0166\u0000\u1465\u1466\u0005"+
57658 "%\u0000\u0000\u1466\u1468\u0003\u02cc\u0166\u0000\u1467\u1465\u0001\u0000"+
57659 "\u0000\u0000\u1468\u146b\u0001\u0000\u0000\u0000\u1469\u1467\u0001\u0000"+
57660 "\u0000\u0000\u1469\u146a\u0001\u0000\u0000\u0000\u146a\u146d\u0001\u0000"+
57661 "\u0000\u0000\u146b\u1469\u0001\u0000\u0000\u0000\u146c\u146e\u0003\u02f4"+
57662 "\u017a\u0000\u146d\u146c\u0001\u0000\u0000\u0000\u146d\u146e\u0001\u0000"+
57663 "\u0000\u0000\u146e\u02cf\u0001\u0000\u0000\u0000\u146f\u1470\u0005\u001f"+
57664 "\u0000\u0000\u1470\u1475\u0003\u02d2\u0169\u0000\u1471\u1472\u0005%\u0000"+
57665 "\u0000\u1472\u1474\u0003\u02d2\u0169\u0000\u1473\u1471\u0001\u0000\u0000"+
57666 "\u0000\u1474\u1477\u0001\u0000\u0000\u0000\u1475\u1473\u0001\u0000\u0000"+
57667 "\u0000\u1475\u1476\u0001\u0000\u0000\u0000\u1476\u1478\u0001\u0000\u0000"+
57668 "\u0000\u1477\u1475\u0001\u0000\u0000\u0000\u1478\u1479\u0005 \u0000\u0000"+
57669 "\u1479\u147e\u0001\u0000\u0000\u0000\u147a\u147e\u0003\u02d2\u0169\u0000"+
57670 "\u147b\u147c\u0005\u001f\u0000\u0000\u147c\u147e\u0005 \u0000\u0000\u147d"+
57671 "\u146f\u0001\u0000\u0000\u0000\u147d\u147a\u0001\u0000\u0000\u0000\u147d"+
57672 "\u147b\u0001\u0000\u0000\u0000\u147e\u02d1\u0001\u0000\u0000\u0000\u147f"+
57673 "\u1482\u0003b1\u0000\u1480\u1482\u0005\u009a\u0000\u0000\u1481\u147f\u0001"+
57674 "\u0000\u0000\u0000\u1481\u1480\u0001\u0000\u0000\u0000\u1482\u02d3\u0001"+
57675 "\u0000\u0000\u0000\u1483\u1485\u0003\u030a\u0185\u0000\u1484\u1483\u0001"+
57676 "\u0000\u0000\u0000\u1484\u1485\u0001\u0000\u0000\u0000\u1485\u1486\u0001"+
57677 "\u0000\u0000\u0000\u1486\u1488\u00051\u0000\u0000\u1487\u1489\u0003\u02ea"+
57678 "\u0175\u0000\u1488\u1487\u0001\u0000\u0000\u0000\u1488\u1489\u0001\u0000"+
57679 "\u0000\u0000\u1489\u148c\u0001\u0000\u0000\u0000\u148a\u148d\u0003\u02d8"+
57680 "\u016c\u0000\u148b\u148d\u0003\u02da\u016d\u0000\u148c\u148a\u0001\u0000"+
57681 "\u0000\u0000\u148c\u148b\u0001\u0000\u0000\u0000\u148d\u148f\u0001\u0000"+
57682 "\u0000\u0000\u148e\u1490\u0003\u0310\u0188\u0000\u148f\u148e\u0001\u0000"+
57683 "\u0000\u0000\u148f\u1490\u0001\u0000\u0000\u0000\u1490\u1492\u0001\u0000"+
57684 "\u0000\u0000\u1491\u1493\u0003\u0300\u0180\u0000\u1492\u1491\u0001\u0000"+
57685 "\u0000\u0000\u1492\u1493\u0001\u0000\u0000\u0000\u1493\u1495\u0001\u0000"+
57686 "\u0000\u0000\u1494\u1496\u0003\u02d6\u016b\u0000\u1495\u1494\u0001\u0000"+
57687 "\u0000\u0000\u1495\u1496\u0001\u0000\u0000\u0000\u1496\u02d5\u0001\u0000"+
57688 "\u0000\u0000\u1497\u1498\u0005\u0102\u0000\u0000\u1498\u1499\u0003\u031c"+
57689 "\u018e\u0000\u1499\u02d7\u0001\u0000\u0000\u0000\u149a\u149c\u0005U\u0000"+
57690 "\u0000\u149b\u149a\u0001\u0000\u0000\u0000\u149b\u149c\u0001\u0000\u0000"+
57691 "\u0000\u149c\u149e\u0001\u0000\u0000\u0000\u149d\u149f\u0005\u001f\u0000"+
57692 "\u0000\u149e\u149d\u0001\u0000\u0000\u0000\u149e\u149f\u0001\u0000\u0000"+
57693 "\u0000\u149f\u14a0\u0001\u0000\u0000\u0000\u14a0\u14a2\u0003@ \u0000\u14a1"+
57694 "\u14a3\u0005 \u0000\u0000\u14a2\u14a1\u0001\u0000\u0000\u0000\u14a2\u14a3"+
57695 "\u0001\u0000\u0000\u0000\u14a3\u14a8\u0001\u0000\u0000\u0000\u14a4\u14a6"+
57696 "\u0005`\u0000\u0000\u14a5\u14a4\u0001\u0000\u0000\u0000\u14a5\u14a6\u0001"+
57697 "\u0000\u0000\u0000\u14a6\u14a7\u0001\u0000\u0000\u0000\u14a7\u14a9\u0003"+
57698 "\\.\u0000\u14a8\u14a5\u0001\u0000\u0000\u0000\u14a8\u14a9\u0001\u0000"+
57699 "\u0000\u0000\u14a9\u02d9\u0001\u0000\u0000\u0000\u14aa\u14ab\u0003\u02dc"+
57700 "\u016e\u0000\u14ab\u14ac\u0005U\u0000\u0000\u14ac\u14ad\u0003\u02f6\u017b"+
57701 "\u0000\u14ad\u14b4\u0001\u0000\u0000\u0000\u14ae\u14af\u0005U\u0000\u0000"+
57702 "\u14af\u14b0\u0003\u02dc\u016e\u0000\u14b0\u14b1\u0005^\u0000\u0000\u14b1"+
57703 "\u14b2\u0003\u02f6\u017b\u0000\u14b2\u14b4\u0001\u0000\u0000\u0000\u14b3"+
57704 "\u14aa\u0001\u0000\u0000\u0000\u14b3\u14ae\u0001\u0000\u0000\u0000\u14b4"+
57705 "\u02db\u0001\u0000\u0000\u0000\u14b5\u14b7\u0003@ \u0000\u14b6\u14b8\u0005"+
57706 "\u0015\u0000\u0000\u14b7\u14b6\u0001\u0000\u0000\u0000\u14b7\u14b8\u0001"+
57707 "\u0000\u0000\u0000\u14b8\u14c0\u0001\u0000\u0000\u0000\u14b9\u14ba\u0005"+
57708 "%\u0000\u0000\u14ba\u14bc\u0003@ \u0000\u14bb\u14bd\u0005\u0015\u0000"+
57709 "\u0000\u14bc\u14bb\u0001\u0000\u0000\u0000\u14bc\u14bd\u0001\u0000\u0000"+
57710 "\u0000\u14bd\u14bf\u0001\u0000\u0000\u0000\u14be\u14b9\u0001\u0000\u0000"+
57711 "\u0000\u14bf\u14c2\u0001\u0000\u0000\u0000\u14c0\u14be\u0001\u0000\u0000"+
57712 "\u0000\u14c0\u14c1\u0001\u0000\u0000\u0000\u14c1\u02dd\u0001\u0000\u0000"+
57713 "\u0000\u14c2\u14c0\u0001\u0000\u0000\u0000\u14c3\u14c4\u0003\u02e0\u0170"+
57714 "\u0000\u14c4\u02df\u0001\u0000\u0000\u0000\u14c5\u14d1\u0003\u02e2\u0171"+
57715 "\u0000\u14c6\u14c8\u0005N\u0000\u0000\u14c7\u14c9\u0005r\u0000\u0000\u14c8"+
57716 "\u14c7\u0001\u0000\u0000\u0000\u14c8\u14c9\u0001\u0000\u0000\u0000\u14c9"+
57717 "\u14cd\u0001\u0000\u0000\u0000\u14ca\u14cd\u0005\u00bc\u0000\u0000\u14cb"+
57718 "\u14cd\u0005\u00bd\u0000\u0000\u14cc\u14c6\u0001\u0000\u0000\u0000\u14cc"+
57719 "\u14ca\u0001\u0000\u0000\u0000\u14cc\u14cb\u0001\u0000\u0000\u0000\u14cd"+
57720 "\u14ce\u0001\u0000\u0000\u0000\u14ce\u14d0\u0003\u02e2\u0171\u0000\u14cf"+
57721 "\u14cc\u0001\u0000\u0000\u0000\u14d0\u14d3\u0001\u0000\u0000\u0000\u14d1"+
57722 "\u14cf\u0001\u0000\u0000\u0000\u14d1\u14d2\u0001\u0000\u0000\u0000\u14d2"+
57723 "\u02e1\u0001\u0000\u0000\u0000\u14d3\u14d1\u0001\u0000\u0000\u0000\u14d4"+
57724 "\u14d6\u0003\u0328\u0194\u0000\u14d5\u14d4\u0001\u0000\u0000\u0000\u14d5"+
57725 "\u14d6\u0001\u0000\u0000\u0000\u14d6\u14d7\u0001\u0000\u0000\u0000\u14d7"+
57726 "\u14d9\u0005.\u0000\u0000\u14d8\u14da\u0003\u02e4\u0172\u0000\u14d9\u14d8"+
57727 "\u0001\u0000\u0000\u0000\u14d9\u14da\u0001\u0000\u0000\u0000\u14da\u14db"+
57728 "\u0001\u0000\u0000\u0000\u14db\u14dd\u0003\u02e6\u0173\u0000\u14dc\u14de"+
57729 "\u0003\u02f2\u0179\u0000\u14dd\u14dc\u0001\u0000\u0000\u0000\u14dd\u14de"+
57730 "\u0001\u0000\u0000\u0000\u14de\u14e6\u0001\u0000\u0000\u0000\u14df\u14e1"+
57731 "\u0003\u02f4\u017a\u0000\u14e0\u14e2\u0003\u0308\u0184\u0000\u14e1\u14e0"+
57732 "\u0001\u0000\u0000\u0000\u14e1\u14e2\u0001\u0000\u0000\u0000\u14e2\u14e4"+
57733 "\u0001\u0000\u0000\u0000\u14e3\u14e5\u0003\u02c6\u0163\u0000\u14e4\u14e3"+
57734 "\u0001\u0000\u0000\u0000\u14e4\u14e5\u0001\u0000\u0000\u0000\u14e5\u14e7"+
57735 "\u0001\u0000\u0000\u0000\u14e6\u14df\u0001\u0000\u0000\u0000\u14e6\u14e7"+
57736 "\u0001\u0000\u0000\u0000\u14e7\u14e9\u0001\u0000\u0000\u0000\u14e8\u14ea"+
57737 "\u0003\u0300\u0180\u0000\u14e9\u14e8\u0001\u0000\u0000\u0000\u14e9\u14ea"+
57738 "\u0001\u0000\u0000\u0000\u14ea\u14ec\u0001\u0000\u0000\u0000\u14eb\u14ed"+
57739 "\u0003\u0302\u0181\u0000\u14ec\u14eb\u0001\u0000\u0000\u0000\u14ec\u14ed"+
57740 "\u0001\u0000\u0000\u0000\u14ed\u14ef\u0001\u0000\u0000\u0000\u14ee\u14f0"+
57741 "\u0003\u0304\u0182\u0000\u14ef\u14ee\u0001\u0000\u0000\u0000\u14ef\u14f0"+
57742 "\u0001\u0000\u0000\u0000\u14f0\u14f2\u0001\u0000\u0000\u0000\u14f1\u14f3"+
57743 "\u0003\u00aaU\u0000\u14f2\u14f1\u0001\u0000\u0000\u0000\u14f2\u14f3\u0001"+
57744 "\u0000\u0000\u0000\u14f3\u14f5\u0001\u0000\u0000\u0000\u14f4\u14f6\u0003"+
57745 "\u0320\u0190\u0000\u14f5\u14f4\u0001\u0000\u0000\u0000\u14f5\u14f6\u0001"+
57746 "\u0000\u0000\u0000\u14f6\u02e3\u0001\u0000\u0000\u0000\u14f7\u14f8\u0007"+
57747 "P\u0000\u0000\u14f8\u02e5\u0001\u0000\u0000\u0000\u14f9\u14ff\u0003\u02e8"+
57748 "\u0174\u0000\u14fa\u14fc\u0003\u02ea\u0175\u0000\u14fb\u14fd\u0003\u02e8"+
57749 "\u0174\u0000\u14fc\u14fb\u0001\u0000\u0000\u0000\u14fc\u14fd\u0001\u0000"+
57750 "\u0000\u0000\u14fd\u14ff\u0001\u0000\u0000\u0000\u14fe\u14f9\u0001\u0000"+
57751 "\u0000\u0000\u14fe\u14fa\u0001\u0000\u0000\u0000\u14ff\u1504\u0001\u0000"+
57752 "\u0000\u0000\u1500\u1501\u0005%\u0000\u0000\u1501\u1503\u0003\u02e8\u0174"+
57753 "\u0000\u1502\u1500\u0001\u0000\u0000\u0000\u1503\u1506\u0001\u0000\u0000"+
57754 "\u0000\u1504\u1502\u0001\u0000\u0000\u0000\u1504\u1505\u0001\u0000\u0000"+
57755 "\u0000\u1505\u02e7\u0001\u0000\u0000\u0000\u1506\u1504\u0001\u0000\u0000"+
57756 "\u0000\u1507\u151d\u0003\u02f0\u0178\u0000\u1508\u151d\u0003\u02ee\u0177"+
57757 "\u0000\u1509\u150a\u0003\\.\u0000\u150a\u150b\u0005\u0018\u0000\u0000"+
57758 "\u150b\u150d\u0001\u0000\u0000\u0000\u150c\u1509\u0001\u0000\u0000\u0000"+
57759 "\u150c\u150d\u0001\u0000\u0000\u0000\u150d\u1510\u0001\u0000\u0000\u0000"+
57760 "\u150e\u1511\u0003H$\u0000\u150f\u1511\u0003b1\u0000\u1510\u150e\u0001"+
57761 "\u0000\u0000\u0000\u1510\u150f\u0001\u0000\u0000\u0000\u1511\u151d\u0001"+
57762 "\u0000\u0000\u0000\u1512\u1515\u0003H$\u0000\u1513\u1515\u0003b1\u0000"+
57763 "\u1514\u1512\u0001\u0000\u0000\u0000\u1514\u1513\u0001\u0000\u0000\u0000"+
57764 "\u1515\u151a\u0001\u0000\u0000\u0000\u1516\u1518\u0005`\u0000\u0000\u1517"+
57765 "\u1516\u0001\u0000\u0000\u0000\u1517\u1518\u0001\u0000\u0000\u0000\u1518"+
57766 "\u1519\u0001\u0000\u0000\u0000\u1519\u151b\u0003\\.\u0000\u151a\u1517"+
57767 "\u0001\u0000\u0000\u0000\u151a\u151b\u0001\u0000\u0000\u0000\u151b\u151d"+
57768 "\u0001\u0000\u0000\u0000\u151c\u1507\u0001\u0000\u0000\u0000\u151c\u1508"+
57769 "\u0001\u0000\u0000\u0000\u151c\u150c\u0001\u0000\u0000\u0000\u151c\u1514"+
57770 "\u0001\u0000\u0000\u0000\u151d\u02e9\u0001\u0000\u0000\u0000\u151e\u1520"+
57771 "\u0005\u00f8\u0000\u0000\u151f\u1521\u0005\u001f\u0000\u0000\u1520\u151f"+
57772 "\u0001\u0000\u0000\u0000\u1520\u1521\u0001\u0000\u0000\u0000\u1521\u1522"+
57773 "\u0001\u0000\u0000\u0000\u1522\u1524\u0003\u02ec\u0176\u0000\u1523\u1525"+
57774 "\u0005 \u0000\u0000\u1524\u1523\u0001\u0000\u0000\u0000\u1524\u1525\u0001"+
57775 "\u0000\u0000\u0000\u1525\u1527\u0001\u0000\u0000\u0000\u1526\u1528\u0005"+
57776 "\u00ba\u0000\u0000\u1527\u1526\u0001\u0000\u0000\u0000\u1527\u1528\u0001"+
57777 "\u0000\u0000\u0000\u1528\u152b\u0001\u0000\u0000\u0000\u1529\u152a\u0005"+
57778 "M\u0000\u0000\u152a\u152c\u0005\u00bb\u0000\u0000\u152b\u1529\u0001\u0000"+
57779 "\u0000\u0000\u152b\u152c\u0001\u0000\u0000\u0000\u152c\u153a\u0001\u0000"+
57780 "\u0000\u0000\u152d\u152e\u0005\u01be\u0000\u0000\u152e\u152f\u0005\u001f"+
57781 "\u0000\u0000\u152f\u1530\u0005 \u0000\u0000\u1530\u1531\u0005\u0132\u0000"+
57782 "\u0000\u1531\u1532\u0005\u001f\u0000\u0000\u1532\u1533\u0003\u00aaU\u0000"+
57783 "\u1533\u1538\u0005 \u0000\u0000\u1534\u1536\u0005`\u0000\u0000\u1535\u1534"+
57784 "\u0001\u0000\u0000\u0000\u1535\u1536\u0001\u0000\u0000\u0000\u1536\u1537"+
57785 "\u0001\u0000\u0000\u0000\u1537\u1539\u0003\\.\u0000\u1538\u1535\u0001"+
57786 "\u0000\u0000\u0000\u1538\u1539\u0001\u0000\u0000\u0000\u1539\u153b\u0001"+
57787 "\u0000\u0000\u0000\u153a\u152d\u0001\u0000\u0000\u0000\u153a\u153b\u0001"+
57788 "\u0000\u0000\u0000\u153b\u02eb\u0001\u0000\u0000\u0000\u153c\u153f\u0003"+
57789 "\u001e\u000f\u0000\u153d\u153f\u0003\u0018\f\u0000\u153e\u153c\u0001\u0000"+
57790 "\u0000\u0000\u153e\u153d\u0001\u0000\u0000\u0000\u153f\u02ed\u0001\u0000"+
57791 "\u0000\u0000\u1540\u1541\u0005\u0011\u0000\u0000\u1541\u02ef\u0001\u0000"+
57792 "\u0000\u0000\u1542\u1543\u0003*\u0015\u0000\u1543\u1544\u0005\u0015\u0000"+
57793 "\u0000\u1544\u02f1\u0001\u0000\u0000\u0000\u1545\u1546\u0005K\u0000\u0000"+
57794 "\u1546\u1547\u0003@ \u0000\u1547\u02f3\u0001\u0000\u0000\u0000\u1548\u1549"+
57795 "\u0005U\u0000\u0000\u1549\u154a\u0003\u02f6\u017b\u0000\u154a\u02f5\u0001"+
57796 "\u0000\u0000\u0000\u154b\u1550\u0003\u02f8\u017c\u0000\u154c\u154d\u0005"+
57797 "%\u0000\u0000\u154d\u154f\u0003\u02f8\u017c\u0000\u154e\u154c\u0001\u0000"+
57798 "\u0000\u0000\u154f\u1552\u0001\u0000\u0000\u0000\u1550\u154e\u0001\u0000"+
57799 "\u0000\u0000\u1550\u1551\u0001\u0000\u0000\u0000\u1551\u02f7\u0001\u0000"+
57800 "\u0000\u0000\u1552\u1550\u0001\u0000\u0000\u0000\u1553\u1557\u0003\u02fa"+
57801 "\u017d\u0000\u1554\u1556\u0003\u02fc\u017e\u0000\u1555\u1554\u0001\u0000"+
57802 "\u0000\u0000\u1556\u1559\u0001\u0000\u0000\u0000\u1557\u1555\u0001\u0000"+
57803 "\u0000\u0000\u1557\u1558\u0001\u0000\u0000\u0000\u1558\u02f9\u0001\u0000"+
57804 "\u0000\u0000\u1559\u1557\u0001\u0000\u0000\u0000\u155a\u155f\u0003@ \u0000"+
57805 "\u155b\u155d\u0005`\u0000\u0000\u155c\u155b\u0001\u0000\u0000\u0000\u155c"+
57806 "\u155d\u0001\u0000\u0000\u0000\u155d\u155e\u0001\u0000\u0000\u0000\u155e"+
57807 "\u1560\u0003\\.\u0000\u155f\u155c\u0001\u0000\u0000\u0000\u155f\u1560"+
57808 "\u0001\u0000\u0000\u0000\u1560\u1575\u0001\u0000\u0000\u0000\u1561\u1563"+
57809 "\u0003\u0306\u0183\u0000\u1562\u1564\u0005`\u0000\u0000\u1563\u1562\u0001"+
57810 "\u0000\u0000\u0000\u1563\u1564\u0001\u0000\u0000\u0000\u1564\u1565\u0001"+
57811 "\u0000\u0000\u0000\u1565\u1567\u0003\\.\u0000\u1566\u1568\u0003P(\u0000"+
57812 "\u1567\u1566\u0001\u0000\u0000\u0000\u1567\u1568\u0001\u0000\u0000\u0000"+
57813 "\u1568\u1575\u0001\u0000\u0000\u0000\u1569\u156e\u0003b1\u0000\u156a\u156c"+
57814 "\u0005`\u0000\u0000\u156b\u156a\u0001\u0000\u0000\u0000\u156b\u156c\u0001"+
57815 "\u0000\u0000\u0000\u156c\u156d\u0001\u0000\u0000\u0000\u156d\u156f\u0003"+
57816 "\\.\u0000\u156e\u156b\u0001\u0000\u0000\u0000\u156e\u156f\u0001\u0000"+
57817 "\u0000\u0000\u156f\u1575\u0001\u0000\u0000\u0000\u1570\u1571\u0005\u001f"+
57818 "\u0000\u0000\u1571\u1572\u0003\u02f6\u017b\u0000\u1572\u1573\u0005 \u0000"+
57819 "\u0000\u1573\u1575\u0001\u0000\u0000\u0000\u1574\u155a\u0001\u0000\u0000"+
57820 "\u0000\u1574\u1561\u0001\u0000\u0000\u0000\u1574\u1569\u0001\u0000\u0000"+
57821 "\u0000\u1574\u1570\u0001\u0000\u0000\u0000\u1575\u02fb\u0001\u0000\u0000"+
57822 "\u0000\u1576\u1578\u0005V\u0000\u0000\u1577\u1576\u0001\u0000\u0000\u0000"+
57823 "\u1577\u1578\u0001\u0000\u0000\u0000\u1578\u157a\u0001\u0000\u0000\u0000"+
57824 "\u1579\u157b\u0007Q\u0000\u0000\u157a\u1579\u0001\u0000\u0000\u0000\u157a"+
57825 "\u157b\u0001\u0000\u0000\u0000\u157b\u157c\u0001\u0000\u0000\u0000\u157c"+
57826 "\u157d\u0005W\u0000\u0000\u157d\u157e\u0001\u0000\u0000\u0000\u157e\u1580"+
57827 "\u0003\u02fa\u017d\u0000\u157f\u1581\u0003\u02fe\u017f\u0000\u1580\u157f"+
57828 "\u0001\u0000\u0000\u0000\u1580\u1581\u0001\u0000\u0000\u0000\u1581\u1595"+
57829 "\u0001\u0000\u0000\u0000\u1582\u1584\u0005V\u0000\u0000\u1583\u1582\u0001"+
57830 "\u0000\u0000\u0000\u1583\u1584\u0001\u0000\u0000\u0000\u1584\u1585\u0001"+
57831 "\u0000\u0000\u0000\u1585\u1587\u0007R\u0000\u0000\u1586\u1588\u0005Z\u0000"+
57832 "\u0000\u1587\u1586\u0001\u0000\u0000\u0000\u1587\u1588\u0001\u0000\u0000"+
57833 "\u0000\u1588\u1589\u0001\u0000\u0000\u0000\u1589\u158a\u0005W\u0000\u0000"+
57834 "\u158a\u158c\u0003\u02fa\u017d\u0000\u158b\u158d\u0003\u02fe\u017f\u0000"+
57835 "\u158c\u158b\u0001\u0000\u0000\u0000\u158c\u158d\u0001\u0000\u0000\u0000"+
57836 "\u158d\u1595\u0001\u0000\u0000\u0000\u158e\u158f\u0007S\u0000\u0000\u158f"+
57837 "\u1590\u0005\u00d7\u0000\u0000\u1590\u1592\u0003\u02fa\u017d\u0000\u1591"+
57838 "\u1593\u0003\u02fe\u017f\u0000\u1592\u1591\u0001\u0000\u0000\u0000\u1592"+
57839 "\u1593\u0001\u0000\u0000\u0000\u1593\u1595\u0001\u0000\u0000\u0000\u1594"+
57840 "\u1577\u0001\u0000\u0000\u0000\u1594\u1583\u0001\u0000\u0000\u0000\u1594"+
57841 "\u158e\u0001\u0000\u0000\u0000\u1595\u02fd\u0001\u0000\u0000\u0000\u1596"+
57842 "\u1597\u0005a\u0000\u0000\u1597\u159b\u0003b1\u0000\u1598\u1599\u0005"+
57843 "^\u0000\u0000\u1599\u159b\u0003P(\u0000\u159a\u1596\u0001\u0000\u0000"+
57844 "\u0000\u159a\u1598\u0001\u0000\u0000\u0000\u159b\u02ff\u0001\u0000\u0000"+
57845 "\u0000\u159c\u159d\u0005_\u0000\u0000\u159d\u159e\u0003b1\u0000\u159e"+
57846 "\u0301\u0001\u0000\u0000\u0000\u159f\u15a0\u0005v\u0000\u0000\u15a0\u15a1"+
57847 "\u0005w\u0000\u0000\u15a1\u15a6\u0003\u00acV\u0000\u15a2\u15a3\u0005%"+
57848 "\u0000\u0000\u15a3\u15a5\u0003\u00acV\u0000\u15a4\u15a2\u0001\u0000\u0000"+
57849 "\u0000\u15a5\u15a8\u0001\u0000\u0000\u0000\u15a6\u15a4\u0001\u0000\u0000"+
57850 "\u0000\u15a6\u15a7\u0001\u0000\u0000\u0000\u15a7\u0303\u0001\u0000\u0000"+
57851 "\u0000\u15a8\u15a6\u0001\u0000\u0000\u0000\u15a9\u15aa\u0005z\u0000\u0000"+
57852 "\u15aa\u15ab\u0003b1\u0000\u15ab\u0305\u0001\u0000\u0000\u0000\u15ac\u15ad"+
57853 "\u0005\u001f\u0000\u0000\u15ad\u15ae\u0003\u02e0\u0170\u0000\u15ae\u15af"+
57854 "\u0005 \u0000\u0000\u15af\u0307\u0001\u0000\u0000\u0000\u15b0\u15b1\u0005"+
57855 "M\u0000\u0000\u15b1\u15b2\u0005\u001f\u0000\u0000\u15b2\u15b3\u0003H$"+
57856 "\u0000\u15b3\u15b4\u0003\u00aeW\u0000\u15b4\u15bb\u0001\u0000\u0000\u0000"+
57857 "\u15b5\u15b6\u0005%\u0000\u0000\u15b6\u15b7\u0003H$\u0000\u15b7\u15b8"+
57858 "\u0003\u00aeW\u0000\u15b8\u15ba\u0001\u0000\u0000\u0000\u15b9\u15b5\u0001"+
57859 "\u0000\u0000\u0000\u15ba\u15bd\u0001\u0000\u0000\u0000\u15bb\u15b9\u0001"+
57860 "\u0000\u0000\u0000\u15bb\u15bc\u0001\u0000\u0000\u0000\u15bc\u15be\u0001"+
57861 "\u0000\u0000\u0000\u15bd\u15bb\u0001\u0000\u0000\u0000\u15be\u15bf\u0005"+
57862 " \u0000\u0000\u15bf\u0309\u0001\u0000\u0000\u0000\u15c0\u15c1\u0005M\u0000"+
57863 "\u0000\u15c1\u15c2\u0003\u030c\u0186\u0000\u15c2\u030b\u0001\u0000\u0000"+
57864 "\u0000\u15c3\u15c8\u0003\u030e\u0187\u0000\u15c4\u15c5\u0005%\u0000\u0000"+
57865 "\u15c5\u15c7\u0003\u030e\u0187\u0000\u15c6\u15c4\u0001\u0000\u0000\u0000"+
57866 "\u15c7\u15ca\u0001\u0000\u0000\u0000\u15c8\u15c6\u0001\u0000\u0000\u0000"+
57867 "\u15c8\u15c9\u0001\u0000\u0000\u0000\u15c9\u030d\u0001\u0000\u0000\u0000"+
57868 "\u15ca\u15c8\u0001\u0000\u0000\u0000\u15cb\u15cd\u0003*\u0015\u0000\u15cc"+
57869 "\u15ce\u0003P(\u0000\u15cd\u15cc\u0001\u0000\u0000\u0000\u15cd\u15ce\u0001"+
57870 "\u0000\u0000\u0000\u15ce\u15cf\u0001\u0000\u0000\u0000\u15cf\u15d0\u0005"+
57871 "`\u0000\u0000\u15d0\u15d1\u0003\u0306\u0183\u0000\u15d1\u030f\u0001\u0000"+
57872 "\u0000\u0000\u15d2\u15d5\u0005\u01d2\u0000\u0000\u15d3\u15d6\u0003\u0312"+
57873 "\u0189\u0000\u15d4\u15d6\u0003\u0318\u018c\u0000\u15d5\u15d3\u0001\u0000"+
57874 "\u0000\u0000\u15d5\u15d4\u0001\u0000\u0000\u0000\u15d6\u15dc\u0001\u0000"+
57875 "\u0000\u0000\u15d7\u15d8\u0005K\u0000\u0000\u15d8\u15da\u0003\u031a\u018d"+
57876 "\u0000\u15d9\u15db\u0003P(\u0000\u15da\u15d9\u0001\u0000\u0000\u0000\u15da"+
57877 "\u15db\u0001\u0000\u0000\u0000\u15db\u15dd\u0001\u0000\u0000\u0000\u15dc"+
57878 "\u15d7\u0001\u0000\u0000\u0000\u15dc\u15dd\u0001\u0000\u0000\u0000\u15dd"+
57879 "\u0311\u0001\u0000\u0000\u0000\u15de\u15e1\u0003\u0316\u018b\u0000\u15df"+
57880 "\u15e1\u0003\u0314\u018a\u0000\u15e0\u15de\u0001\u0000\u0000\u0000\u15e0"+
57881 "\u15df\u0001\u0000\u0000\u0000\u15e1\u15e9\u0001\u0000\u0000\u0000\u15e2"+
57882 "\u15e5\u0005%\u0000\u0000\u15e3\u15e6\u0003\u0316\u018b\u0000\u15e4\u15e6"+
57883 "\u0003\u0314\u018a\u0000\u15e5\u15e3\u0001\u0000\u0000\u0000\u15e5\u15e4"+
57884 "\u0001\u0000\u0000\u0000\u15e6\u15e8\u0001\u0000\u0000\u0000\u15e7\u15e2"+
57885 "\u0001\u0000\u0000\u0000\u15e8\u15eb\u0001\u0000\u0000\u0000\u15e9\u15e7"+
57886 "\u0001\u0000\u0000\u0000\u15e9\u15ea\u0001\u0000\u0000\u0000\u15ea\u0313"+
57887 "\u0001\u0000\u0000\u0000\u15eb\u15e9\u0001\u0000\u0000\u0000\u15ec\u15f1"+
57888 "\u0003b1\u0000\u15ed\u15ef\u0005`\u0000\u0000\u15ee\u15ed\u0001\u0000"+
57889 "\u0000\u0000\u15ee\u15ef\u0001\u0000\u0000\u0000\u15ef\u15f0\u0001\u0000"+
57890 "\u0000\u0000\u15f0\u15f2\u0003\\.\u0000\u15f1\u15ee\u0001\u0000\u0000"+
57891 "\u0000\u15f1\u15f2\u0001\u0000\u0000\u0000\u15f2\u0315\u0001\u0000\u0000"+
57892 "\u0000\u15f3\u15f4\u0007T\u0000\u0000\u15f4\u15f5\u0005\u0014\u0000\u0000"+
57893 "\u15f5\u15fa\u0003N\'\u0000\u15f6\u15f8\u0005`\u0000\u0000\u15f7\u15f6"+
57894 "\u0001\u0000\u0000\u0000\u15f7\u15f8\u0001\u0000\u0000\u0000\u15f8\u15f9"+
57895 "\u0001\u0000\u0000\u0000\u15f9\u15fb\u0003\\.\u0000\u15fa\u15f7\u0001"+
57896 "\u0000\u0000\u0000\u15fa\u15fb\u0001\u0000\u0000\u0000\u15fb\u0317\u0001"+
57897 "\u0000\u0000\u0000\u15fc\u15fd\u0007T\u0000\u0000\u15fd\u15fe\u0005\u0015"+
57898 "\u0000\u0000\u15fe\u0319\u0001\u0000\u0000\u0000\u15ff\u1600\u0003@ \u0000"+
57899 "\u1600\u031b\u0001\u0000\u0000\u0000\u1601\u1602\u0007U\u0000\u0000\u1602"+
57900 "\u1649\u0005v\u0000\u0000\u1603\u1604\u0007V\u0000\u0000\u1604\u1649\u0005"+
57901 "N\u0000\u0000\u1605\u1606\u0007W\u0000\u0000\u1606\u1649\u0005W\u0000"+
57902 "\u0000\u1607\u1608\u0005\u00c1\u0000\u0000\u1608\u1649\u0005\u00c2\u0000"+
57903 "\u0000\u1609\u160a\u0005\u00c3\u0000\u0000\u160a\u1649\u0005\u02d6\u0000"+
57904 "\u0000\u160b\u160c\u0005\u00c4\u0000\u0000\u160c\u1649\u0005u\u0000\u0000"+
57905 "\u160d\u160e\u0007X\u0000\u0000\u160e\u1649\u0005\u01e7\u0000\u0000\u160f"+
57906 "\u1610\u0007X\u0000\u0000\u1610\u1649\u0005\u01e8\u0000\u0000\u1611\u1649"+
57907 "\u0005\u01e9\u0000\u0000\u1612\u1613\u0005\u00c5\u0000\u0000\u1613\u1649"+
57908 "\u0005\u00c6\u0000\u0000\u1614\u1615\u0005\u01ea\u0000\u0000\u1615\u1649"+
57909 "\u0005\u00c6\u0000\u0000\u1616\u1617\u0005\u01eb\u0000\u0000\u1617\u1618"+
57910 "\u0005\u0018\u0000\u0000\u1618\u1649\u0005\u02d8\u0000\u0000\u1619\u161a"+
57911 "\u0005\u01ec\u0000\u0000\u161a\u161b\u0005\u0018\u0000\u0000\u161b\u1649"+
57912 "\u0005\u02d8\u0000\u0000\u161c\u161d\u0005\u012c\u0000\u0000\u161d\u1649"+
57913 "\u0005\u02d6\u0000\u0000\u161e\u161f\u0005\u01ed\u0000\u0000\u161f\u1649"+
57914 "\u0005\u02d6\u0000\u0000\u1620\u1649\u0005\u01ee\u0000\u0000\u1621\u1622"+
57915 "\u0005\u001f\u0000\u0000\u1622\u1623\u0005\u00c7\u0000\u0000\u1623\u1624"+
57916 "\u0005f\u0000\u0000\u1624\u1625\u0005\u001f\u0000\u0000\u1625\u162b\u0003"+
57917 "\u00ecv\u0000\u1626\u162a\u0005\u00fb\u0000\u0000\u1627\u1628\u0005\u0018"+
57918 "\u0000\u0000\u1628\u162a\u0003\u001a\r\u0000\u1629\u1626\u0001\u0000\u0000"+
57919 "\u0000\u1629\u1627\u0001\u0000\u0000\u0000\u162a\u162d\u0001\u0000\u0000"+
57920 "\u0000\u162b\u1629\u0001\u0000\u0000\u0000\u162b\u162c\u0001\u0000\u0000"+
57921 "\u0000\u162c\u162e\u0001\u0000\u0000\u0000\u162d\u162b\u0001\u0000\u0000"+
57922 "\u0000\u162e\u162f\u0005 \u0000\u0000\u162f\u1630\u0005 \u0000\u0000\u1630"+
57923 "\u1649\u0001\u0000\u0000\u0000\u1631\u1632\u0005\u00c7\u0000\u0000\u1632"+
57924 "\u1633\u0005f\u0000\u0000\u1633\u1649\u0005\u00fb\u0000\u0000\u1634\u1635"+
57925 "\u0005\u01ef\u0000\u0000\u1635\u1649\u0007D\u0000\u0000\u1636\u1637\u0005"+
57926 "\u01f0\u0000\u0000\u1637\u1649\u0005\u02d6\u0000\u0000\u1638\u1649\u0005"+
57927 "\u01f1\u0000\u0000\u1639\u163a\u0005\u01f2\u0000\u0000\u163a\u1649\u0005"+
57928 "\u00c6\u0000\u0000\u163b\u163c\u0005\u00be\u0000\u0000\u163c\u163d\u0005"+
57929 "\u00ca\u0000\u0000\u163d\u1641\u0005\u001f\u0000\u0000\u163e\u1640\u0003"+
57930 "\u031e\u018f\u0000\u163f\u163e\u0001\u0000\u0000\u0000\u1640\u1643\u0001"+
57931 "\u0000\u0000\u0000\u1641\u163f\u0001\u0000\u0000\u0000\u1641\u1642\u0001"+
57932 "\u0000\u0000\u0000\u1642\u1644\u0001\u0000\u0000\u0000\u1643\u1641\u0001"+
57933 "\u0000\u0000\u0000\u1644\u1649\u0005 \u0000\u0000\u1645\u1646\u0005\u00be"+
57934 "\u0000\u0000\u1646\u1647\u0005\u00c6\u0000\u0000\u1647\u1649\u0005\u02db"+
57935 "\u0000\u0000\u1648\u1601\u0001\u0000\u0000\u0000\u1648\u1603\u0001\u0000"+
57936 "\u0000\u0000\u1648\u1605\u0001\u0000\u0000\u0000\u1648\u1607\u0001\u0000"+
57937 "\u0000\u0000\u1648\u1609\u0001\u0000\u0000\u0000\u1648\u160b\u0001\u0000"+
57938 "\u0000\u0000\u1648\u160d\u0001\u0000\u0000\u0000\u1648\u160f\u0001\u0000"+
57939 "\u0000\u0000\u1648\u1611\u0001\u0000\u0000\u0000\u1648\u1612\u0001\u0000"+
57940 "\u0000\u0000\u1648\u1614\u0001\u0000\u0000\u0000\u1648\u1616\u0001\u0000"+
57941 "\u0000\u0000\u1648\u1619\u0001\u0000\u0000\u0000\u1648\u161c\u0001\u0000"+
57942 "\u0000\u0000\u1648\u161e\u0001\u0000\u0000\u0000\u1648\u1620\u0001\u0000"+
57943 "\u0000\u0000\u1648\u1621\u0001\u0000\u0000\u0000\u1648\u1631\u0001\u0000"+
57944 "\u0000\u0000\u1648\u1634\u0001\u0000\u0000\u0000\u1648\u1636\u0001\u0000"+
57945 "\u0000\u0000\u1648\u1638\u0001\u0000\u0000\u0000\u1648\u1639\u0001\u0000"+
57946 "\u0000\u0000\u1648\u163b\u0001\u0000\u0000\u0000\u1648\u1645\u0001\u0000"+
57947 "\u0000\u0000\u1649\u031d\u0001\u0000\u0000\u0000\u164a\u164b\u0005\'\u0000"+
57948 "\u0000\u164b\u164c\u0005\u01d5\u0000\u0000\u164c\u1681\u0005\'\u0000\u0000"+
57949 "\u164d\u164e\u0005\'\u0000\u0000\u164e\u164f\u0005\u01d6\u0000\u0000\u164f"+
57950 "\u1681\u0005\'\u0000\u0000\u1650\u1651\u0005\'\u0000\u0000\u1651\u1652"+
57951 "\u0005\u01d7\u0000\u0000\u1652\u1681\u0005\'\u0000\u0000\u1653\u1654\u0005"+
57952 "\'\u0000\u0000\u1654\u1655\u0005\u01d8\u0000\u0000\u1655\u1681\u0005\'"+
57953 "\u0000\u0000\u1656\u1657\u0005\'\u0000\u0000\u1657\u1658\u0005\u01d9\u0000"+
57954 "\u0000\u1658\u1681\u0005\'\u0000\u0000\u1659\u165a\u0005\'\u0000\u0000"+
57955 "\u165a\u165b\u0005\u01da\u0000\u0000\u165b\u1681\u0005\'\u0000\u0000\u165c"+
57956 "\u165d\u0005\'\u0000\u0000\u165d\u165e\u0005\u01db\u0000\u0000\u165e\u1681"+
57957 "\u0005\'\u0000\u0000\u165f\u1660\u0005\'\u0000\u0000\u1660\u1661\u0005"+
57958 "\u01dc\u0000\u0000\u1661\u1681\u0005\'\u0000\u0000\u1662\u1663\u0005\'"+
57959 "\u0000\u0000\u1663\u1664\u0005\u01dd\u0000\u0000\u1664\u1681\u0005\'\u0000"+
57960 "\u0000\u1665\u1666\u0005\'\u0000\u0000\u1666\u1667\u0005\u01de\u0000\u0000"+
57961 "\u1667\u1681\u0005\'\u0000\u0000\u1668\u1669\u0005\'\u0000\u0000\u1669"+
57962 "\u166a\u0005\u01df\u0000\u0000\u166a\u1681\u0005\'\u0000\u0000\u166b\u166c"+
57963 "\u0005\'\u0000\u0000\u166c\u166d\u0005\u01e0\u0000\u0000\u166d\u1681\u0005"+
57964 "\'\u0000\u0000\u166e\u166f\u0005\'\u0000\u0000\u166f\u1670\u0005\u01e1"+
57965 "\u0000\u0000\u1670\u1681\u0005\'\u0000\u0000\u1671\u1672\u0005\'\u0000"+
57966 "\u0000\u1672\u1673\u0005\u01e2\u0000\u0000\u1673\u1681\u0005\'\u0000\u0000"+
57967 "\u1674\u1675\u0005\'\u0000\u0000\u1675\u1676\u0005\u01e3\u0000\u0000\u1676"+
57968 "\u1681\u0005\'\u0000\u0000\u1677\u1678\u0005\'\u0000\u0000\u1678\u1679"+
57969 "\u0005\u01e4\u0000\u0000\u1679\u1681\u0005\'\u0000\u0000\u167a\u167b\u0005"+
57970 "\'\u0000\u0000\u167b\u167c\u0005\u01e5\u0000\u0000\u167c\u1681\u0005\'"+
57971 "\u0000\u0000\u167d\u167e\u0005\'\u0000\u0000\u167e\u167f\u0005\u01e6\u0000"+
57972 "\u0000\u167f\u1681\u0005\'\u0000\u0000\u1680\u164a\u0001\u0000\u0000\u0000"+
57973 "\u1680\u164d\u0001\u0000\u0000\u0000\u1680\u1650\u0001\u0000\u0000\u0000"+
57974 "\u1680\u1653\u0001\u0000\u0000\u0000\u1680\u1656\u0001\u0000\u0000\u0000"+
57975 "\u1680\u1659\u0001\u0000\u0000\u0000\u1680\u165c\u0001\u0000\u0000\u0000"+
57976 "\u1680\u165f\u0001\u0000\u0000\u0000\u1680\u1662\u0001\u0000\u0000\u0000"+
57977 "\u1680\u1665\u0001\u0000\u0000\u0000\u1680\u1668\u0001\u0000\u0000\u0000"+
57978 "\u1680\u166b\u0001\u0000\u0000\u0000\u1680\u166e\u0001\u0000\u0000\u0000"+
57979 "\u1680\u1671\u0001\u0000\u0000\u0000\u1680\u1674\u0001\u0000\u0000\u0000"+
57980 "\u1680\u1677\u0001\u0000\u0000\u0000\u1680\u167a\u0001\u0000\u0000\u0000"+
57981 "\u1680\u167d\u0001\u0000\u0000\u0000\u1681\u031f\u0001\u0000\u0000\u0000"+
57982 "\u1682\u1686\u0005f\u0000\u0000\u1683\u1687\u0005\u02b8\u0000\u0000\u1684"+
57983 "\u1687\u0003\u0322\u0191\u0000\u1685\u1687\u0003\u0326\u0193\u0000\u1686"+
57984 "\u1683\u0001\u0000\u0000\u0000\u1686\u1684\u0001\u0000\u0000\u0000\u1686"+
57985 "\u1685\u0001\u0000\u0000\u0000\u1687\u0321\u0001\u0000\u0000\u0000\u1688"+
57986 "\u16c3\u0005\u0165\u0000\u0000\u1689\u168e\u0005\u02b9\u0000\u0000\u168a"+
57987 "\u168b\u0005\u001f\u0000\u0000\u168b\u168c\u0003\u001c\u000e\u0000\u168c"+
57988 "\u168d\u0005 \u0000\u0000\u168d\u168f\u0001\u0000\u0000\u0000\u168e\u168a"+
57989 "\u0001\u0000\u0000\u0000\u168e\u168f\u0001\u0000\u0000\u0000\u168f\u1692"+
57990 "\u0001\u0000\u0000\u0000\u1690\u1692\u0005\u010b\u0000\u0000\u1691\u1689"+
57991 "\u0001\u0000\u0000\u0000\u1691\u1690\u0001\u0000\u0000\u0000\u1692\u16a8"+
57992 "\u0001\u0000\u0000\u0000\u1693\u169f\u0003\u0324\u0192\u0000\u1694\u169d"+
57993 "\u0005%\u0000\u0000\u1695\u169e\u0005\u02ba\u0000\u0000\u1696\u169b\u0005"+
57994 "\u02bb\u0000\u0000\u1697\u1698\u0005\u001f\u0000\u0000\u1698\u1699\u0003"+
57995 "\u001c\u000e\u0000\u1699\u169a\u0005 \u0000\u0000\u169a\u169c\u0001\u0000"+
57996 "\u0000\u0000\u169b\u1697\u0001\u0000\u0000\u0000\u169b\u169c\u0001\u0000"+
57997 "\u0000\u0000\u169c\u169e\u0001\u0000\u0000\u0000\u169d\u1695\u0001\u0000"+
57998 "\u0000\u0000\u169d\u1696\u0001\u0000\u0000\u0000\u169e\u16a0\u0001\u0000"+
57999 "\u0000\u0000\u169f\u1694\u0001\u0000\u0000\u0000\u169f\u16a0\u0001\u0000"+
58000 "\u0000\u0000\u16a0\u16a6\u0001\u0000\u0000\u0000\u16a1\u16a2\u0005%\u0000"+
58001 "\u0000\u16a2\u16a4\u0005\u02bc\u0000\u0000\u16a3\u16a5\u0007Y\u0000\u0000"+
58002 "\u16a4\u16a3\u0001\u0000\u0000\u0000\u16a4\u16a5\u0001\u0000\u0000\u0000"+
58003 "\u16a5\u16a7\u0001\u0000\u0000\u0000\u16a6\u16a1\u0001\u0000\u0000\u0000"+
58004 "\u16a6\u16a7\u0001\u0000\u0000\u0000\u16a7\u16a9\u0001\u0000\u0000\u0000"+
58005 "\u16a8\u1693\u0001\u0000\u0000\u0000\u16a8\u16a9\u0001\u0000\u0000\u0000"+
58006 "\u16a9\u16c4\u0001\u0000\u0000\u0000\u16aa\u16b0\u0005\u02bf\u0000\u0000"+
58007 "\u16ab\u16ae\u0003\u0324\u0192\u0000\u16ac\u16ad\u0005%\u0000\u0000\u16ad"+
58008 "\u16af\u0005\u02ba\u0000\u0000\u16ae\u16ac\u0001\u0000\u0000\u0000\u16ae"+
58009 "\u16af\u0001\u0000\u0000\u0000\u16af\u16b1\u0001\u0000\u0000\u0000\u16b0"+
58010 "\u16ab\u0001\u0000\u0000\u0000\u16b0\u16b1\u0001\u0000\u0000\u0000\u16b1"+
58011 "\u16c4\u0001\u0000\u0000\u0000\u16b2\u16b7\u0005\u02c0\u0000\u0000\u16b3"+
58012 "\u16b4\u0005\u001f\u0000\u0000\u16b4\u16b5\u0003\u001c\u000e\u0000\u16b5"+
58013 "\u16b6\u0005 \u0000\u0000\u16b6\u16b8\u0001\u0000\u0000\u0000\u16b7\u16b3"+
58014 "\u0001\u0000\u0000\u0000\u16b7\u16b8\u0001\u0000\u0000\u0000\u16b8\u16c1"+
58015 "\u0001\u0000\u0000\u0000\u16b9\u16bf\u0003\u0324\u0192\u0000\u16ba\u16bb"+
58016 "\u0005%\u0000\u0000\u16bb\u16bd\u0005\u02bc\u0000\u0000\u16bc\u16be\u0007"+
58017 "Y\u0000\u0000\u16bd\u16bc\u0001\u0000\u0000\u0000\u16bd\u16be\u0001\u0000"+
58018 "\u0000\u0000\u16be\u16c0\u0001\u0000\u0000\u0000\u16bf\u16ba\u0001\u0000"+
58019 "\u0000\u0000\u16bf\u16c0\u0001\u0000\u0000\u0000\u16c0\u16c2\u0001\u0000"+
58020 "\u0000\u0000\u16c1\u16b9\u0001\u0000\u0000\u0000\u16c1\u16c2\u0001\u0000"+
58021 "\u0000\u0000\u16c2\u16c4\u0001\u0000\u0000\u0000\u16c3\u1691\u0001\u0000"+
58022 "\u0000\u0000\u16c3\u16aa\u0001\u0000\u0000\u0000\u16c3\u16b2\u0001\u0000"+
58023 "\u0000\u0000\u16c4\u0323\u0001\u0000\u0000\u0000\u16c5\u16c6\u0005%\u0000"+
58024 "\u0000\u16c6\u16c7\u0005\u00f2\u0000\u0000\u16c7\u16c9\u0005\u02c1\u0000"+
58025 "\u0000\u16c8\u16c5\u0001\u0000\u0000\u0000\u16c8\u16c9\u0001\u0000\u0000"+
58026 "\u0000\u16c9\u16cc\u0001\u0000\u0000\u0000\u16ca\u16cb\u0005%\u0000\u0000"+
58027 "\u16cb\u16cd\u0005\u00b0\u0000\u0000\u16cc\u16ca\u0001\u0000\u0000\u0000"+
58028 "\u16cc\u16cd\u0001\u0000\u0000\u0000\u16cd\u16d6\u0001\u0000\u0000\u0000"+
58029 "\u16ce\u16cf\u0005%\u0000\u0000\u16cf\u16d4\u0005\u02c2\u0000\u0000\u16d0"+
58030 "\u16d1\u0005\u001f\u0000\u0000\u16d1\u16d2\u0003\u001c\u000e\u0000\u16d2"+
58031 "\u16d3\u0005 \u0000\u0000\u16d3\u16d5\u0001\u0000\u0000\u0000\u16d4\u16d0"+
58032 "\u0001\u0000\u0000\u0000\u16d4\u16d5\u0001\u0000\u0000\u0000\u16d5\u16d7"+
58033 "\u0001\u0000\u0000\u0000\u16d6\u16ce\u0001\u0000\u0000\u0000\u16d6\u16d7"+
58034 "\u0001\u0000\u0000\u0000\u16d7\u0325\u0001\u0000\u0000\u0000\u16d8\u16d9"+
58035 "\u0005\u02c3\u0000\u0000\u16d9\u16ec\u0007Z\u0000\u0000\u16da\u16db\u0005"+
58036 "%\u0000\u0000\u16db\u16e0\u0005\u02c2\u0000\u0000\u16dc\u16dd\u0005\u001f"+
58037 "\u0000\u0000\u16dd\u16de\u0003\u001c\u000e\u0000\u16de\u16df\u0005 \u0000"+
58038 "\u0000\u16df\u16e1\u0001\u0000\u0000\u0000\u16e0\u16dc\u0001\u0000\u0000"+
58039 "\u0000\u16e0\u16e1\u0001\u0000\u0000\u0000\u16e1\u16e3\u0001\u0000\u0000"+
58040 "\u0000\u16e2\u16da\u0001\u0000\u0000\u0000\u16e2\u16e3\u0001\u0000\u0000"+
58041 "\u0000\u16e3\u16e6\u0001\u0000\u0000\u0000\u16e4\u16e5\u0005%\u0000\u0000"+
58042 "\u16e5\u16e7\u0005\u02c4\u0000\u0000\u16e6\u16e4\u0001\u0000\u0000\u0000"+
58043 "\u16e6\u16e7\u0001\u0000\u0000\u0000\u16e7\u16ea\u0001\u0000\u0000\u0000"+
58044 "\u16e8\u16e9\u0005%\u0000\u0000\u16e9\u16eb\u0005\u02c5\u0000\u0000\u16ea"+
58045 "\u16e8\u0001\u0000\u0000\u0000\u16ea\u16eb\u0001\u0000\u0000\u0000\u16eb"+
58046 "\u16ed\u0001\u0000\u0000\u0000\u16ec\u16e2\u0001\u0000\u0000\u0000\u16ec"+
58047 "\u16ed\u0001\u0000\u0000\u0000\u16ed\u0327\u0001\u0000\u0000\u0000\u16ee"+
58048 "\u16f3\u0005M\u0000\u0000\u16ef\u16f1\u0003\u032a\u0195\u0000\u16f0\u16f2"+
58049 "\u0005%\u0000\u0000\u16f1\u16f0\u0001\u0000\u0000\u0000\u16f1\u16f2\u0001"+
58050 "\u0000\u0000\u0000\u16f2\u16f4\u0001\u0000\u0000\u0000\u16f3\u16ef\u0001"+
58051 "\u0000\u0000\u0000\u16f3\u16f4\u0001\u0000\u0000\u0000\u16f4\u16f6\u0001"+
58052 "\u0000\u0000\u0000\u16f5\u16f7\u0003\u030c\u0186\u0000\u16f6\u16f5\u0001"+
58053 "\u0000\u0000\u0000\u16f6\u16f7\u0001\u0000\u0000\u0000\u16f7\u0329\u0001"+
58054 "\u0000\u0000\u0000\u16f8\u16f9\u0005\u02c6\u0000\u0000\u16f9\u16fa\u0005"+
58055 "\u001f\u0000\u0000\u16fa\u16ff\u0003\u032c\u0196\u0000\u16fb\u16fc\u0005"+
58056 "%\u0000\u0000\u16fc\u16fe\u0003\u032c\u0196\u0000\u16fd\u16fb\u0001\u0000"+
58057 "\u0000\u0000\u16fe\u1701\u0001\u0000\u0000\u0000\u16ff\u16fd\u0001\u0000"+
58058 "\u0000\u0000\u16ff\u1700\u0001\u0000\u0000\u0000\u1700\u1702\u0001\u0000"+
58059 "\u0000\u0000\u1701\u16ff\u0001\u0000\u0000\u0000\u1702\u1703\u0005 \u0000"+
58060 "\u0000\u1703\u032b\u0001\u0000\u0000\u0000\u1704\u1705\u0003\u032e\u0197"+
58061 "\u0000\u1705\u1706\u0005`\u0000\u0000\u1706\u1707\u0003\u0330\u0198\u0000"+
58062 "\u1707\u170a\u0001\u0000\u0000\u0000\u1708\u170a\u0003\u0332\u0199\u0000"+
58063 "\u1709\u1704\u0001\u0000\u0000\u0000\u1709\u1708\u0001\u0000\u0000\u0000"+
58064 "\u170a\u032d\u0001\u0000\u0000\u0000\u170b\u170c\u0003\u001c\u000e\u0000"+
58065 "\u170c\u032f\u0001\u0000\u0000\u0000\u170d\u170e\u0003*\u0015\u0000\u170e"+
58066 "\u0331\u0001\u0000\u0000\u0000\u170f\u1710\u0005\u009a\u0000\u0000\u1710"+
58067 "\u1711\u0003\u032e\u0197\u0000\u1711\u0333\u0001\u0000\u0000\u0000\u1712"+
58068 "\u1715\u00057\u0000\u0000\u1713\u1716\u0003\u0336\u019b\u0000\u1714\u1716"+
58069 "\u0003\u0338\u019c\u0000\u1715\u1713\u0001\u0000\u0000\u0000\u1715\u1714"+
58070 "\u0001\u0000\u0000\u0000\u1716\u0335\u0001\u0000\u0000\u0000\u1717\u171a"+
58071 "\u0003\u033a\u019d\u0000\u1718\u1719\u0005a\u0000\u0000\u1719\u171b\u0003"+
58072 "\u033c\u019e\u0000\u171a\u1718\u0001\u0000\u0000\u0000\u171a\u171b\u0001"+
58073 "\u0000\u0000\u0000\u171b\u171c\u0001\u0000\u0000\u0000\u171c\u171d\u0005"+
58074 "g\u0000\u0000\u171d\u1722\u0003\u0344\u01a2\u0000\u171e\u171f\u0005%\u0000"+
58075 "\u0000\u171f\u1721\u0003\u0344\u01a2\u0000\u1720\u171e\u0001\u0000\u0000"+
58076 "\u0000\u1721\u1724\u0001\u0000\u0000\u0000\u1722\u1720\u0001\u0000\u0000"+
58077 "\u0000\u1722\u1723\u0001\u0000\u0000\u0000\u1723\u1728\u0001\u0000\u0000"+
58078 "\u0000\u1724\u1722\u0001\u0000\u0000\u0000\u1725\u1726\u0005M\u0000\u0000"+
58079 "\u1726\u1727\u00057\u0000\u0000\u1727\u1729\u0005\u0102\u0000\u0000\u1728"+
58080 "\u1725\u0001\u0000\u0000\u0000\u1728\u1729\u0001\u0000\u0000\u0000\u1729"+
58081 "\u172c\u0001\u0000\u0000\u0000\u172a\u172b\u0005`\u0000\u0000\u172b\u172d"+
58082 "\u0003\u0344\u01a2\u0000\u172c\u172a\u0001\u0000\u0000\u0000\u172c\u172d"+
58083 "\u0001\u0000\u0000\u0000\u172d\u0337\u0001\u0000\u0000\u0000\u172e\u1731"+
58084 "\u0003\u033e\u019f\u0000\u172f\u1730\u0005a\u0000\u0000\u1730\u1732\u0003"+
58085 "\u0340\u01a0\u0000\u1731\u172f\u0001\u0000\u0000\u0000\u1731\u1732\u0001"+
58086 "\u0000\u0000\u0000\u1732\u1733\u0001\u0000\u0000\u0000\u1733\u1734\u0005"+
58087 "g\u0000\u0000\u1734\u1739\u0003\u0344\u01a2\u0000\u1735\u1736\u0005%\u0000"+
58088 "\u0000\u1736\u1738\u0003\u0344\u01a2\u0000\u1737\u1735\u0001\u0000\u0000"+
58089 "\u0000\u1738\u173b\u0001\u0000\u0000\u0000\u1739\u1737\u0001\u0000\u0000"+
58090 "\u0000\u1739\u173a\u0001\u0000\u0000\u0000\u173a\u173f\u0001\u0000\u0000"+
58091 "\u0000\u173b\u1739\u0001\u0000\u0000\u0000\u173c\u173d\u0005M\u0000\u0000"+
58092 "\u173d\u173e\u00057\u0000\u0000\u173e\u1740\u0005\u0102\u0000\u0000\u173f"+
58093 "\u173c\u0001\u0000\u0000\u0000\u173f\u1740\u0001\u0000\u0000\u0000\u1740"+
58094 "\u0339\u0001\u0000\u0000\u0000\u1741\u1743\u0003\u0354\u01aa\u0000\u1742"+
58095 "\u1744\u0003P(\u0000\u1743\u1742\u0001\u0000\u0000\u0000\u1743\u1744\u0001"+
58096 "\u0000\u0000\u0000\u1744\u174c\u0001\u0000\u0000\u0000\u1745\u1746\u0005"+
58097 "%\u0000\u0000\u1746\u1748\u0003\u0354\u01aa\u0000\u1747\u1749\u0003P("+
58098 "\u0000\u1748\u1747\u0001\u0000\u0000\u0000\u1748\u1749\u0001\u0000\u0000"+
58099 "\u0000\u1749\u174b\u0001\u0000\u0000\u0000\u174a\u1745\u0001\u0000\u0000"+
58100 "\u0000\u174b\u174e\u0001\u0000\u0000\u0000\u174c\u174a\u0001\u0000\u0000"+
58101 "\u0000\u174c\u174d\u0001\u0000\u0000\u0000\u174d\u033b\u0001\u0000\u0000"+
58102 "\u0000\u174e\u174c\u0001\u0000\u0000\u0000\u174f\u1750\u0003\u0392\u01c9"+
58103 "\u0000\u1750\u1751\u0005\u000e\u0000\u0000\u1751\u1752\u0005\u000e\u0000"+
58104 "\u0000\u1752\u1754\u0001\u0000\u0000\u0000\u1753\u174f\u0001\u0000\u0000"+
58105 "\u0000\u1753\u1754\u0001\u0000\u0000\u0000\u1754\u1755\u0001\u0000\u0000"+
58106 "\u0000\u1755\u1756\u0003\u0342\u01a1\u0000\u1756\u033d\u0001\u0000\u0000"+
58107 "\u0000\u1757\u175c\u0003\u0354\u01aa\u0000\u1758\u1759\u0005%\u0000\u0000"+
58108 "\u1759\u175b\u0003\u0354\u01aa\u0000\u175a\u1758\u0001\u0000\u0000\u0000"+
58109 "\u175b\u175e\u0001\u0000\u0000\u0000\u175c\u175a\u0001\u0000\u0000\u0000"+
58110 "\u175c\u175d\u0001\u0000\u0000\u0000\u175d\u033f\u0001\u0000\u0000\u0000"+
58111 "\u175e\u175c\u0001\u0000\u0000\u0000\u175f\u1760\u0003\u0394\u01ca\u0000"+
58112 "\u1760\u1761\u0005\u000e\u0000\u0000\u1761\u1762\u0005\u000e\u0000\u0000"+
58113 "\u1762\u1764\u0001\u0000\u0000\u0000\u1763\u175f\u0001\u0000\u0000\u0000"+
58114 "\u1763\u1764\u0001\u0000\u0000\u0000\u1764\u1765\u0001\u0000\u0000\u0000"+
58115 "\u1765\u1766\u0003\u0342\u01a1\u0000\u1766\u0341\u0001\u0000\u0000\u0000"+
58116 "\u1767\u1768\u0003L&\u0000\u1768\u1769\u0005\u0014\u0000\u0000\u1769\u176b"+
58117 "\u0001\u0000\u0000\u0000\u176a\u1767\u0001\u0000\u0000\u0000\u176a\u176b"+
58118 "\u0001\u0000\u0000\u0000\u176b\u176c\u0001\u0000\u0000\u0000\u176c\u176d"+
58119 "\u0003N\'\u0000\u176d\u0343\u0001\u0000\u0000\u0000\u176e\u176f\u0003"+
58120 "\u03b2\u01d9\u0000\u176f\u0345\u0001\u0000\u0000\u0000\u1770\u1776\u0005"+
58121 "8\u0000\u0000\u1771\u1773\u0003\u0352\u01a9\u0000\u1772\u1771\u0001\u0000"+
58122 "\u0000\u0000\u1772\u1773\u0001\u0000\u0000\u0000\u1773\u1774\u0001\u0000"+
58123 "\u0000\u0000\u1774\u1777\u0003\u0348\u01a4\u0000\u1775\u1777\u0003\u034a"+
58124 "\u01a5\u0000\u1776\u1772\u0001\u0000\u0000\u0000\u1776\u1775\u0001\u0000"+
58125 "\u0000\u0000\u1777\u0347\u0001\u0000\u0000\u0000\u1778\u177b\u0003\u033a"+
58126 "\u019d\u0000\u1779\u177a\u0005a\u0000\u0000\u177a\u177c\u0003\u033c\u019e"+
58127 "\u0000\u177b\u1779\u0001\u0000\u0000\u0000\u177b\u177c\u0001\u0000\u0000"+
58128 "\u0000\u177c\u177d\u0001\u0000\u0000\u0000\u177d\u177e\u0007[\u0000\u0000"+
58129 "\u177e\u1783\u0003\u0344\u01a2\u0000\u177f\u1780\u0005%\u0000\u0000\u1780"+
58130 "\u1782\u0003\u0344\u01a2\u0000\u1781\u177f\u0001\u0000\u0000\u0000\u1782"+
58131 "\u1785\u0001\u0000\u0000\u0000\u1783\u1781\u0001\u0000\u0000\u0000\u1783"+
58132 "\u1784\u0001\u0000\u0000\u0000\u1784\u1787\u0001\u0000\u0000\u0000\u1785"+
58133 "\u1783\u0001\u0000\u0000\u0000\u1786\u1788\u0005\u00fe\u0000\u0000\u1787"+
58134 "\u1786\u0001\u0000\u0000\u0000\u1787\u1788\u0001\u0000\u0000\u0000\u1788"+
58135 "\u178b\u0001\u0000\u0000\u0000\u1789\u178a\u0005`\u0000\u0000\u178a\u178c"+
58136 "\u0003\u0344\u01a2\u0000\u178b\u1789\u0001\u0000\u0000\u0000\u178b\u178c"+
58137 "\u0001\u0000\u0000\u0000\u178c\u0349\u0001\u0000\u0000\u0000\u178d\u1790"+
58138 "\u0003\u033e\u019f\u0000\u178e\u178f\u0005a\u0000\u0000\u178f\u1791\u0003"+
58139 "\u0340\u01a0\u0000\u1790\u178e\u0001\u0000\u0000\u0000\u1790\u1791\u0001"+
58140 "\u0000\u0000\u0000\u1791\u1792\u0001\u0000\u0000\u0000\u1792\u1793\u0007"+
58141 "[\u0000\u0000\u1793\u1798\u0003\u0344\u01a2\u0000\u1794\u1795\u0005%\u0000"+
58142 "\u0000\u1795\u1797\u0003\u0344\u01a2\u0000\u1796\u1794\u0001\u0000\u0000"+
58143 "\u0000\u1797\u179a\u0001\u0000\u0000\u0000\u1798\u1796\u0001\u0000\u0000"+
58144 "\u0000\u1798\u1799\u0001\u0000\u0000\u0000\u1799\u179c\u0001\u0000\u0000"+
58145 "\u0000\u179a\u1798\u0001\u0000\u0000\u0000\u179b\u179d\u0005\u00fe\u0000"+
58146 "\u0000\u179c\u179b\u0001\u0000\u0000\u0000\u179c\u179d\u0001\u0000\u0000"+
58147 "\u0000\u179d\u034b\u0001\u0000\u0000\u0000\u179e\u17a1\u0005\u0118\u0000"+
58148 "\u0000\u179f\u17a2\u0003\u034e\u01a7\u0000\u17a0\u17a2\u0003\u0350\u01a8"+
58149 "\u0000\u17a1\u179f\u0001\u0000\u0000\u0000\u17a1\u17a0\u0001\u0000\u0000"+
58150 "\u0000\u17a2\u034d\u0001\u0000\u0000\u0000\u17a3\u17a6\u0003\u033a\u019d"+
58151 "\u0000\u17a4\u17a5\u0005a\u0000\u0000\u17a5\u17a7\u0003\u033c\u019e\u0000"+
58152 "\u17a6\u17a4\u0001\u0000\u0000\u0000\u17a6\u17a7\u0001\u0000\u0000\u0000"+
58153 "\u17a7\u17a8\u0001\u0000\u0000\u0000\u17a8\u17a9\u0005g\u0000\u0000\u17a9"+
58154 "\u17ae\u0003\u0344\u01a2\u0000\u17aa\u17ab\u0005%\u0000\u0000\u17ab\u17ad"+
58155 "\u0003\u0344\u01a2\u0000\u17ac\u17aa\u0001\u0000\u0000\u0000\u17ad\u17b0"+
58156 "\u0001\u0000\u0000\u0000\u17ae\u17ac\u0001\u0000\u0000\u0000\u17ae\u17af"+
58157 "\u0001\u0000\u0000\u0000\u17af\u17b2\u0001\u0000\u0000\u0000\u17b0\u17ae"+
58158 "\u0001\u0000\u0000\u0000\u17b1\u17b3\u0005\u00fe\u0000\u0000\u17b2\u17b1"+
58159 "\u0001\u0000\u0000\u0000\u17b2\u17b3\u0001\u0000\u0000\u0000\u17b3\u17b6"+
58160 "\u0001\u0000\u0000\u0000\u17b4\u17b5\u0005`\u0000\u0000\u17b5\u17b7\u0003"+
58161 "\u0344\u01a2\u0000\u17b6\u17b4\u0001\u0000\u0000\u0000\u17b6\u17b7\u0001"+
58162 "\u0000\u0000\u0000\u17b7\u034f\u0001\u0000\u0000\u0000\u17b8\u17bb\u0003"+
58163 "\u033e\u019f\u0000\u17b9\u17ba\u0005a\u0000\u0000\u17ba\u17bc\u0003\u0340"+
58164 "\u01a0\u0000\u17bb\u17b9\u0001\u0000\u0000\u0000\u17bb\u17bc\u0001\u0000"+
58165 "\u0000\u0000\u17bc\u17bd\u0001\u0000\u0000\u0000\u17bd\u17be\u0005g\u0000"+
58166 "\u0000\u17be\u17c3\u0003\u0344\u01a2\u0000\u17bf\u17c0\u0005%\u0000\u0000"+
58167 "\u17c0\u17c2\u0003\u0344\u01a2\u0000\u17c1\u17bf\u0001\u0000\u0000\u0000"+
58168 "\u17c2\u17c5\u0001\u0000\u0000\u0000\u17c3\u17c1\u0001\u0000\u0000\u0000"+
58169 "\u17c3\u17c4\u0001\u0000\u0000\u0000\u17c4\u17c7\u0001\u0000\u0000\u0000"+
58170 "\u17c5\u17c3\u0001\u0000\u0000\u0000\u17c6\u17c8\u0005\u00fe\u0000\u0000"+
58171 "\u17c7\u17c6\u0001\u0000\u0000\u0000\u17c7\u17c8\u0001\u0000\u0000\u0000"+
58172 "\u17c8\u0351\u0001\u0000\u0000\u0000\u17c9\u17ca\u00057\u0000\u0000\u17ca"+
58173 "\u17cb\u0005\u0102\u0000\u0000\u17cb\u17cc\u0005f\u0000\u0000\u17cc\u0353"+
58174 "\u0001\u0000\u0000\u0000\u17cd\u17cf\u0005r\u0000\u0000\u17ce\u17d0\u0005"+
58175 "\u0103\u0000\u0000\u17cf\u17ce\u0001\u0000\u0000\u0000\u17cf\u17d0\u0001"+
58176 "\u0000\u0000\u0000\u17d0\u17e5\u0001\u0000\u0000\u0000\u17d1\u17e5\u0003"+
58177 "\u0380\u01c0\u0000\u17d2\u17e5\u0003\u037e\u01bf\u0000\u17d3\u17e5\u0003"+
58178 "\u0382\u01c1\u0000\u17d4\u17e5\u0003\u037a\u01bd\u0000\u17d5\u17e5\u0003"+
58179 "\u0356\u01ab\u0000\u17d6\u17e5\u0003\u038e\u01c7\u0000\u17d7\u17e5\u0003"+
58180 "\u035c\u01ae\u0000\u17d8\u17e5\u0003\u035e\u01af\u0000\u17d9\u17e5\u0003"+
58181 "\u0366\u01b3\u0000\u17da\u17e5\u0003\u0378\u01bc\u0000\u17db\u17e5\u0003"+
58182 "\u0384\u01c2\u0000\u17dc\u17e5\u0003\u0368\u01b4\u0000\u17dd\u17e5\u0003"+
58183 "\u036a\u01b5\u0000\u17de\u17e5\u0003\u0358\u01ac\u0000\u17df\u17e5\u0003"+
58184 "\u035a\u01ad\u0000\u17e0\u17e5\u0003\u036c\u01b6\u0000\u17e1\u17e5\u0003"+
58185 "\u037c\u01be\u0000\u17e2\u17e5\u0003\u038a\u01c5\u0000\u17e3\u17e5\u0003"+
58186 "\u038c\u01c6\u0000\u17e4\u17cd\u0001\u0000\u0000\u0000\u17e4\u17d1\u0001"+
58187 "\u0000\u0000\u0000\u17e4\u17d2\u0001\u0000\u0000\u0000\u17e4\u17d3\u0001"+
58188 "\u0000\u0000\u0000\u17e4\u17d4\u0001\u0000\u0000\u0000\u17e4\u17d5\u0001"+
58189 "\u0000\u0000\u0000\u17e4\u17d6\u0001\u0000\u0000\u0000\u17e4\u17d7\u0001"+
58190 "\u0000\u0000\u0000\u17e4\u17d8\u0001\u0000\u0000\u0000\u17e4\u17d9\u0001"+
58191 "\u0000\u0000\u0000\u17e4\u17da\u0001\u0000\u0000\u0000\u17e4\u17db\u0001"+
58192 "\u0000\u0000\u0000\u17e4\u17dc\u0001\u0000\u0000\u0000\u17e4\u17dd\u0001"+
58193 "\u0000\u0000\u0000\u17e4\u17de\u0001\u0000\u0000\u0000\u17e4\u17df\u0001"+
58194 "\u0000\u0000\u0000\u17e4\u17e0\u0001\u0000\u0000\u0000\u17e4\u17e1\u0001"+
58195 "\u0000\u0000\u0000\u17e4\u17e2\u0001\u0000\u0000\u0000\u17e4\u17e3\u0001"+
58196 "\u0000\u0000\u0000\u17e5\u0355\u0001\u0000\u0000\u0000\u17e6\u17f7\u0005"+
58197 "3\u0000\u0000\u17e7\u17f7\u0005\u014c\u0000\u0000\u17e8\u17f7\u00051\u0000"+
58198 "\u0000\u17e9\u17f7\u0005\u0146\u0000\u0000\u17ea\u17f7\u0005/\u0000\u0000"+
58199 "\u17eb\u17f7\u0005\u0156\u0000\u0000\u17ec\u17f7\u0005\u0104\u0000\u0000"+
58200 "\u17ed\u17f7\u0005.\u0000\u0000\u17ee\u17ef\u0005\u014e\u0000\u0000\u17ef"+
58201 "\u17f7\u0005\u014f\u0000\u0000\u17f0\u17f7\u00050\u0000\u0000\u17f1\u17f2"+
58202 "\u0005J\u0000\u0000\u17f2\u17f3\u0005\u0157\u0000\u0000\u17f3\u17f7\u0005"+
58203 "\u0159\u0000\u0000\u17f4\u17f5\u0005J\u0000\u0000\u17f5\u17f7\u0005\u0150"+
58204 "\u0000\u0000\u17f6\u17e6\u0001\u0000\u0000\u0000\u17f6\u17e7\u0001\u0000"+
58205 "\u0000\u0000\u17f6\u17e8\u0001\u0000\u0000\u0000\u17f6\u17e9\u0001\u0000"+
58206 "\u0000\u0000\u17f6\u17ea\u0001\u0000\u0000\u0000\u17f6\u17eb\u0001\u0000"+
58207 "\u0000\u0000\u17f6\u17ec\u0001\u0000\u0000\u0000\u17f6\u17ed\u0001\u0000"+
58208 "\u0000\u0000\u17f6\u17ee\u0001\u0000\u0000\u0000\u17f6\u17f0\u0001\u0000"+
58209 "\u0000\u0000\u17f6\u17f1\u0001\u0000\u0000\u0000\u17f6\u17f4\u0001\u0000"+
58210 "\u0000\u0000\u17f7\u0357\u0001\u0000\u0000\u0000\u17f8\u17f9\u0005\u016b"+
58211 "\u0000\u0000\u17f9\u17fa\u0005\u016c\u0000\u0000\u17fa\u1846\u0005\u016d"+
58212 "\u0000\u0000\u17fb\u1801\u00053\u0000\u0000\u17fc\u1802\u0005\u015a\u0000"+
58213 "\u0000\u17fd\u1802\u0005\u015b\u0000\u0000\u17fe\u1802\u0005\u0158\u0000"+
58214 "\u0000\u17ff\u1800\u0005\u0155\u0000\u0000\u1800\u1802\u0005\u015c\u0000"+
58215 "\u0000\u1801\u17fc\u0001\u0000\u0000\u0000\u1801\u17fd\u0001\u0000\u0000"+
58216 "\u0000\u1801\u17fe\u0001\u0000\u0000\u0000\u1801\u17ff\u0001\u0000\u0000"+
58217 "\u0000\u1802\u1846\u0001\u0000\u0000\u0000\u1803\u1804\u00053\u0000\u0000"+
58218 "\u1804\u1816\u0005s\u0000\u0000\u1805\u1806\u0005\u015d\u0000\u0000\u1806"+
58219 "\u1817\u0005v\u0000\u0000\u1807\u1817\u0005\u014a\u0000\u0000\u1808\u1817"+
58220 "\u0005\u015e\u0000\u0000\u1809\u1817\u0005\u00cc\u0000\u0000\u180a\u1817"+
58221 "\u0005\u015f\u0000\u0000\u180b\u180c\u0005\u0160\u0000\u0000\u180c\u1817"+
58222 "\u0005\u0161\u0000\u0000\u180d\u180e\u0005\u0160\u0000\u0000\u180e\u1817"+
58223 "\u0005\u0148\u0000\u0000\u180f\u1810\u0005\u0162\u0000\u0000\u1810\u1817"+
58224 "\u0005\u0155\u0000\u0000\u1811\u1817\u0005\u012a\u0000\u0000\u1812\u1813"+
58225 "\u0005\u0155\u0000\u0000\u1813\u1817\u0005\u0163\u0000\u0000\u1814\u1815"+
58226 "\u0005\u0155\u0000\u0000\u1815\u1817\u0005\u0106\u0000\u0000\u1816\u1805"+
58227 "\u0001\u0000\u0000\u0000\u1816\u1807\u0001\u0000\u0000\u0000\u1816\u1808"+
58228 "\u0001\u0000\u0000\u0000\u1816\u1809\u0001\u0000\u0000\u0000\u1816\u180a"+
58229 "\u0001\u0000\u0000\u0000\u1816\u180b\u0001\u0000\u0000\u0000\u1816\u180d"+
58230 "\u0001\u0000\u0000\u0000\u1816\u180f\u0001\u0000\u0000\u0000\u1816\u1811"+
58231 "\u0001\u0000\u0000\u0000\u1816\u1812\u0001\u0000\u0000\u0000\u1816\u1814"+
58232 "\u0001\u0000\u0000\u0000\u1817\u1846\u0001\u0000\u0000\u0000\u1818\u1819"+
58233 "\u0005\u0168\u0000\u0000\u1819\u1846\u0005\u0155\u0000\u0000\u181a\u181b"+
58234 "\u0005\u0149\u0000\u0000\u181b\u181c\u0005s\u0000\u0000\u181c\u1846\u0005"+
58235 "\u00cc\u0000\u0000\u181d\u181e\u0005\u0149\u0000\u0000\u181e\u1846\u0005"+
58236 "\u00a4\u0000\u0000\u181f\u1820\u0005\u014c\u0000\u0000\u1820\u1846\u0005"+
58237 "\u0155\u0000\u0000\u1821\u1822\u00052\u0000\u0000\u1822\u1823\u0005s\u0000"+
58238 "\u0000\u1823\u1846\u0005\u00cc\u0000\u0000\u1824\u1830\u00052\u0000\u0000"+
58239 "\u1825\u1826\u0005\u015d\u0000\u0000\u1826\u1831\u0005v\u0000\u0000\u1827"+
58240 "\u1828\u0005\u0164\u0000\u0000\u1828\u1829\u0005\u0160\u0000\u0000\u1829"+
58241 "\u1831\u0005\u0161\u0000\u0000\u182a\u1831\u0005\u015f\u0000\u0000\u182b"+
58242 "\u182c\u0005\u0155\u0000\u0000\u182c\u1831\u0005\u0106\u0000\u0000\u182d"+
58243 "\u182e\u0005\u0158\u0000\u0000\u182e\u182f\u0005\u0160\u0000\u0000\u182f"+
58244 "\u1831\u0005\u0161\u0000\u0000\u1830\u1825\u0001\u0000\u0000\u0000\u1830"+
58245 "\u1827\u0001\u0000\u0000\u0000\u1830\u182a\u0001\u0000\u0000\u0000\u1830"+
58246 "\u182b\u0001\u0000\u0000\u0000\u1830\u182d\u0001\u0000\u0000\u0000\u1831"+
58247 "\u1846\u0001\u0000\u0000\u0000\u1832\u1833\u0005\u0169\u0000\u0000\u1833"+
58248 "\u1834\u0005\u016a\u0000\u0000\u1834\u1846\u0005\u0152\u0000\u0000\u1835"+
58249 "\u1836\u0005\u0166\u0000\u0000\u1836\u1837\u0005s\u0000\u0000\u1837\u1846"+
58250 "\u0005\u012a\u0000\u0000\u1838\u1839\u0005.\u0000\u0000\u1839\u183a\u0005"+
58251 "r\u0000\u0000\u183a\u183b\u0005\u0105\u0000\u0000\u183b\u1846\u0005\u0167"+
58252 "\u0000\u0000\u183c\u1846\u0005\u016f\u0000\u0000\u183d\u183e\u0005\u016e"+
58253 "\u0000\u0000\u183e\u1846\u0005\u0152\u0000\u0000\u183f\u1840\u0005J\u0000"+
58254 "\u0000\u1840\u1841\u0005s\u0000\u0000\u1841\u1846\u0007\\\u0000\u0000"+
58255 "\u1842\u1843\u0005J\u0000\u0000\u1843\u1844\u0005\u0155\u0000\u0000\u1844"+
58256 "\u1846\u0005\u015c\u0000\u0000\u1845\u17f8\u0001\u0000\u0000\u0000\u1845"+
58257 "\u17fb\u0001\u0000\u0000\u0000\u1845\u1803\u0001\u0000\u0000\u0000\u1845"+
58258 "\u1818\u0001\u0000\u0000\u0000\u1845\u181a\u0001\u0000\u0000\u0000\u1845"+
58259 "\u181d\u0001\u0000\u0000\u0000\u1845\u181f\u0001\u0000\u0000\u0000\u1845"+
58260 "\u1821\u0001\u0000\u0000\u0000\u1845\u1824\u0001\u0000\u0000\u0000\u1845"+
58261 "\u1832\u0001\u0000\u0000\u0000\u1845\u1835\u0001\u0000\u0000\u0000\u1845"+
58262 "\u1838\u0001\u0000\u0000\u0000\u1845\u183c\u0001\u0000\u0000\u0000\u1845"+
58263 "\u183d\u0001\u0000\u0000\u0000\u1845\u183f\u0001\u0000\u0000\u0000\u1845"+
58264 "\u1842\u0001\u0000\u0000\u0000\u1846\u0359\u0001\u0000\u0000\u0000\u1847"+
58265 "\u1849\u0005\u014c\u0000\u0000\u1848\u184a\u0005\u0155\u0000\u0000\u1849"+
58266 "\u1848\u0001\u0000\u0000\u0000\u1849\u184a\u0001\u0000\u0000\u0000\u184a"+
58267 "\u185a\u0001\u0000\u0000\u0000\u184b\u185a\u0005\u0166\u0000\u0000\u184c"+
58268 "\u184e\u0005J\u0000\u0000\u184d\u184f\u0005s\u0000\u0000\u184e\u184d\u0001"+
58269 "\u0000\u0000\u0000\u184e\u184f\u0001\u0000\u0000\u0000\u184f\u1850\u0001"+
58270 "\u0000\u0000\u0000\u1850\u185a\u0005\u0150\u0000\u0000\u1851\u185a\u0005"+
58271 "3\u0000\u0000\u1852\u1853\u00053\u0000\u0000\u1853\u1857\u0005s\u0000"+
58272 "\u0000\u1854\u1858\u0005\u012a\u0000\u0000\u1855\u1856\u0005\u0155\u0000"+
58273 "\u0000\u1856\u1858\u0005\u0106\u0000\u0000\u1857\u1854\u0001\u0000\u0000"+
58274 "\u0000\u1857\u1855\u0001\u0000\u0000\u0000\u1858\u185a\u0001\u0000\u0000"+
58275 "\u0000\u1859\u1847\u0001\u0000\u0000\u0000\u1859\u184b\u0001\u0000\u0000"+
58276 "\u0000\u1859\u184c\u0001\u0000\u0000\u0000\u1859\u1851\u0001\u0000\u0000"+
58277 "\u0000\u1859\u1852\u0001\u0000\u0000\u0000\u185a\u035b\u0001\u0000\u0000"+
58278 "\u0000\u185b\u185c\u0005\u016b\u0000\u0000\u185c\u185d\u0005\u00cc\u0000"+
58279 "\u0000\u185d\u185e\u0005\u016c\u0000\u0000\u185e\u1903\u0005\u016d\u0000"+
58280 "\u0000\u185f\u1903\u00053\u0000\u0000\u1860\u1861\u00053\u0000\u0000\u1861"+
58281 "\u1903\u0005\u0158\u0000\u0000\u1862\u1863\u00053\u0000\u0000\u1863\u189d"+
58282 "\u0005s\u0000\u0000\u1864\u1865\u0005\u0151\u0000\u0000\u1865\u189e\u0005"+
58283 "\u0106\u0000\u0000\u1866\u189e\u0005\u0152\u0000\u0000\u1867\u186c\u0005"+
58284 "\u0153\u0000\u0000\u1868\u186c\u0005\u0154\u0000\u0000\u1869\u186a\u0005"+
58285 "<\u0000\u0000\u186a\u186c\u0005\u0176\u0000\u0000\u186b\u1867\u0001\u0000"+
58286 "\u0000\u0000\u186b\u1868\u0001\u0000\u0000\u0000\u186b\u1869\u0001\u0000"+
58287 "\u0000\u0000\u186c\u186d\u0001\u0000\u0000\u0000\u186d\u189e\u0005C\u0000"+
58288 "\u0000\u186e\u189e\u0005\u0174\u0000\u0000\u186f\u189e\u0005\u014a\u0000"+
58289 "\u0000\u1870\u1871\u0005<\u0000\u0000\u1871\u1872\u0005\u0177\u0000\u0000"+
58290 "\u1872\u1873\u0005C\u0000\u0000\u1873\u189e\u0005\u0150\u0000\u0000\u1874"+
58291 "\u189e\u0005\u0175\u0000\u0000\u1875\u187f\u0005\u00cc\u0000\u0000\u1876"+
58292 "\u1880\u0005\u0163\u0000\u0000\u1877\u1878\u0005\u0164\u0000\u0000\u1878"+
58293 "\u1880\u0005G\u0000\u0000\u1879\u187a\u0005\u0160\u0000\u0000\u187a\u1880"+
58294 "\u0005\u0161\u0000\u0000\u187b\u187c\u0005\u0160\u0000\u0000\u187c\u1880"+
58295 "\u0005\u0148\u0000\u0000\u187d\u187e\u0005\u0170\u0000\u0000\u187e\u1880"+
58296 "\u0005\u0171\u0000\u0000\u187f\u1876\u0001\u0000\u0000\u0000\u187f\u1877"+
58297 "\u0001\u0000\u0000\u0000\u187f\u1879\u0001\u0000\u0000\u0000\u187f\u187b"+
58298 "\u0001\u0000\u0000\u0000\u187f\u187d\u0001\u0000\u0000\u0000\u187f\u1880"+
58299 "\u0001\u0000\u0000\u0000\u1880\u189e\u0001\u0000\u0000\u0000\u1881\u189e"+
58300 "\u0005\u0172\u0000\u0000\u1882\u1883\u0005\u0160\u0000\u0000\u1883\u189e"+
58301 "\u0007]\u0000\u0000\u1884\u188a\u0005\u0169\u0000\u0000\u1885\u1886\u0005"+
58302 "\u0178\u0000\u0000\u1886\u188b\u0005\u0179\u0000\u0000\u1887\u1888\u0005"+
58303 "\u017a\u0000\u0000\u1888\u188b\u0005\u017b\u0000\u0000\u1889\u188b\u0005"+
58304 "\u017c\u0000\u0000\u188a\u1885\u0001\u0000\u0000\u0000\u188a\u1887\u0001"+
58305 "\u0000\u0000\u0000\u188a\u1889\u0001\u0000\u0000\u0000\u188b\u189e\u0001"+
58306 "\u0000\u0000\u0000\u188c\u188d\u0005\u017d\u0000\u0000\u188d\u189e\u0005"+
58307 "\u014b\u0000\u0000\u188e\u189e\u0005\u017e\u0000\u0000\u188f\u1890\u0005"+
58308 "\u0180\u0000\u0000\u1890\u189e\u0005\u00b0\u0000\u0000\u1891\u1892\u0005"+
58309 "\u0181\u0000\u0000\u1892\u1893\u0005\u0173\u0000\u0000\u1893\u189e\u0005"+
58310 "\u0182\u0000\u0000\u1894\u189e\u0005\u0106\u0000\u0000\u1895\u189e\u0005"+
58311 "\u0183\u0000\u0000\u1896\u1897\u0005\u0155\u0000\u0000\u1897\u189e\u0005"+
58312 "\u0163\u0000\u0000\u1898\u189e\u00056\u0000\u0000\u1899\u189a\u0005\u0184"+
58313 "\u0000\u0000\u189a\u189e\u0005\u0185\u0000\u0000\u189b\u189e\u0005\u0173"+
58314 "\u0000\u0000\u189c\u189e\u0005\u0105\u0000\u0000\u189d\u1864\u0001\u0000"+
58315 "\u0000\u0000\u189d\u1866\u0001\u0000\u0000\u0000\u189d\u186b\u0001\u0000"+
58316 "\u0000\u0000\u189d\u186e\u0001\u0000\u0000\u0000\u189d\u186f\u0001\u0000"+
58317 "\u0000\u0000\u189d\u1870\u0001\u0000\u0000\u0000\u189d\u1874\u0001\u0000"+
58318 "\u0000\u0000\u189d\u1875\u0001\u0000\u0000\u0000\u189d\u1881\u0001\u0000"+
58319 "\u0000\u0000\u189d\u1882\u0001\u0000\u0000\u0000\u189d\u1884\u0001\u0000"+
58320 "\u0000\u0000\u189d\u188c\u0001\u0000\u0000\u0000\u189d\u188e\u0001\u0000"+
58321 "\u0000\u0000\u189d\u188f\u0001\u0000\u0000\u0000\u189d\u1891\u0001\u0000"+
58322 "\u0000\u0000\u189d\u1894\u0001\u0000\u0000\u0000\u189d\u1895\u0001\u0000"+
58323 "\u0000\u0000\u189d\u1896\u0001\u0000\u0000\u0000\u189d\u1898\u0001\u0000"+
58324 "\u0000\u0000\u189d\u1899\u0001\u0000\u0000\u0000\u189d\u189b\u0001\u0000"+
58325 "\u0000\u0000\u189d\u189c\u0001\u0000\u0000\u0000\u189e\u1903\u0001\u0000"+
58326 "\u0000\u0000\u189f\u18a1\u0005\u0168\u0000\u0000\u18a0\u18a2\u0005\u0155"+
58327 "\u0000\u0000\u18a1\u18a0\u0001\u0000\u0000\u0000\u18a1\u18a2\u0001\u0000"+
58328 "\u0000\u0000\u18a2\u1903\u0001\u0000\u0000\u0000\u18a3\u18a4\u0005\u018d"+
58329 "\u0000\u0000\u18a4\u1903\u0007^\u0000\u0000\u18a5\u1903\u0005\u0193\u0000"+
58330 "\u0000\u18a6\u1903\u0005\u0149\u0000\u0000\u18a7\u18a9\u0005\u0149\u0000"+
58331 "\u0000\u18a8\u18aa\u0005\u013c\u0000\u0000\u18a9\u18a8\u0001\u0000\u0000"+
58332 "\u0000\u18a9\u18aa\u0001\u0000\u0000\u0000\u18aa\u1903\u0001\u0000\u0000"+
58333 "\u0000\u18ab\u18ad\u0005\u014c\u0000\u0000\u18ac\u18ae\u0005\u0155\u0000"+
58334 "\u0000\u18ad\u18ac\u0001\u0000\u0000\u0000\u18ad\u18ae\u0001\u0000\u0000"+
58335 "\u0000\u18ae\u1903\u0001\u0000\u0000\u0000\u18af\u18d4\u00052\u0000\u0000"+
58336 "\u18b0\u18d5\u0005\u0186\u0000\u0000\u18b1\u18d5\u0005\u0152\u0000\u0000"+
58337 "\u18b2\u18b3\u0007_\u0000\u0000\u18b3\u18d5\u0005C\u0000\u0000\u18b4\u18d5"+
58338 "\u0005\u0174\u0000\u0000\u18b5\u18d5\u0005\u0175\u0000\u0000\u18b6\u18d5"+
58339 "\u0005\u00cc\u0000\u0000\u18b7\u18b9\u0005\u00cc\u0000\u0000\u18b8\u18b7"+
58340 "\u0001\u0000\u0000\u0000\u18b8\u18b9\u0001\u0000\u0000\u0000\u18b9\u18ba"+
58341 "\u0001\u0000\u0000\u0000\u18ba\u18bb\u0005\u0164\u0000\u0000\u18bb\u18bc"+
58342 "\u0005\u0160\u0000\u0000\u18bc\u18d5\u0005\u0161\u0000\u0000\u18bd\u18d5"+
58343 "\u0005\u009a\u0000\u0000\u18be\u18bf\u0005\u017d\u0000\u0000\u18bf\u18d5"+
58344 "\u0005\u014b\u0000\u0000\u18c0\u18d5\u0005F\u0000\u0000\u18c1\u18c2\u0005"+
58345 "\u0180\u0000\u0000\u18c2\u18d5\u0005\u00b0\u0000\u0000\u18c3\u18d5\u0005"+
58346 "H\u0000\u0000\u18c4\u18d5\u0005\u0187\u0000\u0000\u18c5\u18c6\u0005\u0181"+
58347 "\u0000\u0000\u18c6\u18c7\u0005\u0173\u0000\u0000\u18c7\u18d5\u0005\u0182"+
58348 "\u0000\u0000\u18c8\u18d5\u0005\u0106\u0000\u0000\u18c9\u18d5\u0005\u0183"+
58349 "\u0000\u0000\u18ca\u18d5\u0005\u0188\u0000\u0000\u18cb\u18d5\u00056\u0000"+
58350 "\u0000\u18cc\u18d5\u0005\u0173\u0000\u0000\u18cd\u18d5\u0005\u0189\u0000"+
58351 "\u0000\u18ce\u18d5\u0005;\u0000\u0000\u18cf\u18d5\u0005\u00b0\u0000\u0000"+
58352 "\u18d0\u18d5\u0005J\u0000\u0000\u18d1\u18d2\u0005\u0165\u0000\u0000\u18d2"+
58353 "\u18d3\u00056\u0000\u0000\u18d3\u18d5\u0005\u018a\u0000\u0000\u18d4\u18b0"+
58354 "\u0001\u0000\u0000\u0000\u18d4\u18b1\u0001\u0000\u0000\u0000\u18d4\u18b2"+
58355 "\u0001\u0000\u0000\u0000\u18d4\u18b4\u0001\u0000\u0000\u0000\u18d4\u18b5"+
58356 "\u0001\u0000\u0000\u0000\u18d4\u18b6\u0001\u0000\u0000\u0000\u18d4\u18b8"+
58357 "\u0001\u0000\u0000\u0000\u18d4\u18bd\u0001\u0000\u0000\u0000\u18d4\u18be"+
58358 "\u0001\u0000\u0000\u0000\u18d4\u18c0\u0001\u0000\u0000\u0000\u18d4\u18c1"+
58359 "\u0001\u0000\u0000\u0000\u18d4\u18c3\u0001\u0000\u0000\u0000\u18d4\u18c4"+
58360 "\u0001\u0000\u0000\u0000\u18d4\u18c5\u0001\u0000\u0000\u0000\u18d4\u18c8"+
58361 "\u0001\u0000\u0000\u0000\u18d4\u18c9\u0001\u0000\u0000\u0000\u18d4\u18ca"+
58362 "\u0001\u0000\u0000\u0000\u18d4\u18cb\u0001\u0000\u0000\u0000\u18d4\u18cc"+
58363 "\u0001\u0000\u0000\u0000\u18d4\u18cd\u0001\u0000\u0000\u0000\u18d4\u18ce"+
58364 "\u0001\u0000\u0000\u0000\u18d4\u18cf\u0001\u0000\u0000\u0000\u18d4\u18d0"+
58365 "\u0001\u0000\u0000\u0000\u18d4\u18d1\u0001\u0000\u0000\u0000\u18d5\u1903"+
58366 "\u0001\u0000\u0000\u0000\u18d6\u1903\u00051\u0000\u0000\u18d7\u1903\u0005"+
58367 "\u0146\u0000\u0000\u18d8\u18da\u0005\u0146\u0000\u0000\u18d9\u18db\u0005"+
58368 "s\u0000\u0000\u18da\u18d9\u0001\u0000\u0000\u0000\u18da\u18db\u0001\u0000"+
58369 "\u0000\u0000\u18db\u18dc\u0001\u0000\u0000\u0000\u18dc\u18dd\u0005\u0169"+
58370 "\u0000\u0000\u18dd\u1903\u0005\u018b\u0000\u0000\u18de\u1903\u0005/\u0000"+
58371 "\u0000\u18df\u18e0\u0005\u018c\u0000\u0000\u18e0\u18e1\u0005\u00cc\u0000"+
58372 "\u0000\u18e1\u1903\u0005\u014a\u0000\u0000\u18e2\u1903\u0005\u0104\u0000"+
58373 "\u0000\u18e3\u1903\u0005.\u0000\u0000\u18e4\u1903\u0005\u018f\u0000\u0000"+
58374 "\u18e5\u18e6\u0005\u0190\u0000\u0000\u18e6\u18e7\u0005\u0191\u0000\u0000"+
58375 "\u18e7\u1903\u0005\u0192\u0000\u0000\u18e8\u18e9\u0005\u014e\u0000\u0000"+
58376 "\u18e9\u1903\u0005\u014f\u0000\u0000\u18ea\u1903\u0005\u017f\u0000\u0000"+
58377 "\u18eb\u1903\u00050\u0000\u0000\u18ec\u18ed\u0005J\u0000\u0000\u18ed\u18ee"+
58378 "\u0005s\u0000\u0000\u18ee\u18ef\u0005<\u0000\u0000\u18ef\u18f0\u0007`"+
58379 "\u0000\u0000\u18f0\u18f1\u0005C\u0000\u0000\u18f1\u1903\u0005\u0150\u0000"+
58380 "\u0000\u18f2\u18f3\u00052\u0000\u0000\u18f3\u18f7\u0005s\u0000\u0000\u18f4"+
58381 "\u18f8\u0005\u00cc\u0000\u0000\u18f5\u18f6\u0005\u0169\u0000\u0000\u18f6"+
58382 "\u18f8\u0005\u017c\u0000\u0000\u18f7\u18f4\u0001\u0000\u0000\u0000\u18f7"+
58383 "\u18f5\u0001\u0000\u0000\u0000\u18f8\u1903\u0001\u0000\u0000\u0000\u18f9"+
58384 "\u18fa\u0005J\u0000\u0000\u18fa\u18fb\u0007a\u0000\u0000\u18fb\u1903\u0005"+
58385 "\u015c\u0000\u0000\u18fc\u18fe\u0005J\u0000\u0000\u18fd\u18ff\u0005s\u0000"+
58386 "\u0000\u18fe\u18fd\u0001\u0000\u0000\u0000\u18fe\u18ff\u0001\u0000\u0000"+
58387 "\u0000\u18ff\u1900\u0001\u0000\u0000\u0000\u1900\u1903\u0005\u0150\u0000"+
58388 "\u0000\u1901\u1903\u0001\u0000\u0000\u0000\u1902\u185b\u0001\u0000\u0000"+
58389 "\u0000\u1902\u185f\u0001\u0000\u0000\u0000\u1902\u1860\u0001\u0000\u0000"+
58390 "\u0000\u1902\u1862\u0001\u0000\u0000\u0000\u1902\u189f\u0001\u0000\u0000"+
58391 "\u0000\u1902\u18a3\u0001\u0000\u0000\u0000\u1902\u18a5\u0001\u0000\u0000"+
58392 "\u0000\u1902\u18a6\u0001\u0000\u0000\u0000\u1902\u18a7\u0001\u0000\u0000"+
58393 "\u0000\u1902\u18ab\u0001\u0000\u0000\u0000\u1902\u18af\u0001\u0000\u0000"+
58394 "\u0000\u1902\u18d6\u0001\u0000\u0000\u0000\u1902\u18d7\u0001\u0000\u0000"+
58395 "\u0000\u1902\u18d8\u0001\u0000\u0000\u0000\u1902\u18de\u0001\u0000\u0000"+
58396 "\u0000\u1902\u18df\u0001\u0000\u0000\u0000\u1902\u18e2\u0001\u0000\u0000"+
58397 "\u0000\u1902\u18e3\u0001\u0000\u0000\u0000\u1902\u18e4\u0001\u0000\u0000"+
58398 "\u0000\u1902\u18e5\u0001\u0000\u0000\u0000\u1902\u18e8\u0001\u0000\u0000"+
58399 "\u0000\u1902\u18ea\u0001\u0000\u0000\u0000\u1902\u18eb\u0001\u0000\u0000"+
58400 "\u0000\u1902\u18ec\u0001\u0000\u0000\u0000\u1902\u18f2\u0001\u0000\u0000"+
58401 "\u0000\u1902\u18f9\u0001\u0000\u0000\u0000\u1902\u18fc\u0001\u0000\u0000"+
58402 "\u0000\u1902\u1901\u0001\u0000\u0000\u0000\u1903\u035d\u0001\u0000\u0000"+
58403 "\u0000\u1904\u1908\u0003\u0360\u01b0\u0000\u1905\u1908\u0003\u0362\u01b1"+
58404 "\u0000\u1906\u1908\u0003\u0364\u01b2\u0000\u1907\u1904\u0001\u0000\u0000"+
58405 "\u0000\u1907\u1905\u0001\u0000\u0000\u0000\u1907\u1906\u0001\u0000\u0000"+
58406 "\u0000\u1908\u035f\u0001\u0000\u0000\u0000\u1909\u1912\u0005\u014c\u0000"+
58407 "\u0000\u190a\u1912\u0005\u0166\u0000\u0000\u190b\u1912\u00053\u0000\u0000"+
58408 "\u190c\u190d\u0005J\u0000\u0000\u190d\u1912\u0005\u0150\u0000\u0000\u190e"+
58409 "\u190f\u00053\u0000\u0000\u190f\u1910\u0005s\u0000\u0000\u1910\u1912\u0005"+
58410 "\u0105\u0000\u0000\u1911\u1909\u0001\u0000\u0000\u0000\u1911\u190a\u0001"+
58411 "\u0000\u0000\u0000\u1911\u190b\u0001\u0000\u0000\u0000\u1911\u190c\u0001"+
58412 "\u0000\u0000\u0000\u1911\u190e\u0001\u0000\u0000\u0000\u1912\u0361\u0001"+
58413 "\u0000\u0000\u0000\u1913\u191d\u0005\u014c\u0000\u0000\u1914\u1915\u0005"+
58414 "\u014e\u0000\u0000\u1915\u191d\u0005\u014f\u0000\u0000\u1916\u191d\u0005"+
58415 "3\u0000\u0000\u1917\u1918\u0005J\u0000\u0000\u1918\u191d\u0005\u0150\u0000"+
58416 "\u0000\u1919\u191a\u00053\u0000\u0000\u191a\u191b\u0005s\u0000\u0000\u191b"+
58417 "\u191d\u0005\u0106\u0000\u0000\u191c\u1913\u0001\u0000\u0000\u0000\u191c"+
58418 "\u1914\u0001\u0000\u0000\u0000\u191c\u1916\u0001\u0000\u0000\u0000\u191c"+
58419 "\u1917\u0001\u0000\u0000\u0000\u191c\u1919\u0001\u0000\u0000\u0000\u191d"+
58420 "\u0363\u0001\u0000\u0000\u0000\u191e\u1927\u0005\u014c\u0000\u0000\u191f"+
58421 "\u1927\u00053\u0000\u0000\u1920\u1921\u0005J\u0000\u0000\u1921\u1927\u0005"+
58422 "\u0150\u0000\u0000\u1922\u1923\u00053\u0000\u0000\u1923\u1924\u0005s\u0000"+
58423 "\u0000\u1924\u1925\u0005\u0151\u0000\u0000\u1925\u1927\u0005\u0106\u0000"+
58424 "\u0000\u1926\u191e\u0001\u0000\u0000\u0000\u1926\u191f\u0001\u0000\u0000"+
58425 "\u0000\u1926\u1920\u0001\u0000\u0000\u0000\u1926\u1922\u0001\u0000\u0000"+
58426 "\u0000\u1927\u0365\u0001\u0000\u0000\u0000\u1928\u1930\u0005\u014c\u0000"+
58427 "\u0000\u1929\u192a\u0005\u014e\u0000\u0000\u192a\u1930\u0005\u014f\u0000"+
58428 "\u0000\u192b\u1930\u00053\u0000\u0000\u192c\u1930\u0005\u0104\u0000\u0000"+
58429 "\u192d\u192e\u0005J\u0000\u0000\u192e\u1930\u0005\u0150\u0000\u0000\u192f"+
58430 "\u1928\u0001\u0000\u0000\u0000\u192f\u1929\u0001\u0000\u0000\u0000\u192f"+
58431 "\u192b\u0001\u0000\u0000\u0000\u192f\u192c\u0001\u0000\u0000\u0000\u192f"+
58432 "\u192d\u0001\u0000\u0000\u0000\u1930\u0367\u0001\u0000\u0000\u0000\u1931"+
58433 "\u1946\u00053\u0000\u0000\u1932\u1946\u0005\u014c\u0000\u0000\u1933\u1934"+
58434 "\u00052\u0000\u0000\u1934\u1946\u0005\u0194\u0000\u0000\u1935\u1946\u0005"+
58435 "1\u0000\u0000\u1936\u1946\u0005\u0146\u0000\u0000\u1937\u1946\u0005/\u0000"+
58436 "\u0000\u1938\u1946\u0005\u0104\u0000\u0000\u1939\u1946\u0005.\u0000\u0000"+
58437 "\u193a\u193b\u0005\u014e\u0000\u0000\u193b\u1946\u0005\u014f\u0000\u0000"+
58438 "\u193c\u1946\u00050\u0000\u0000\u193d\u193e\u0005J\u0000\u0000\u193e\u193f"+
58439 "\u0005\u0157\u0000\u0000\u193f\u1946\u0005\u0159\u0000\u0000\u1940\u1941"+
58440 "\u0005J\u0000\u0000\u1941\u1946\u0005\u0150\u0000\u0000\u1942\u1943\u0005"+
58441 "3\u0000\u0000\u1943\u1944\u0005s\u0000\u0000\u1944\u1946\u00056\u0000"+
58442 "\u0000\u1945\u1931\u0001\u0000\u0000\u0000\u1945\u1932\u0001\u0000\u0000"+
58443 "\u0000\u1945\u1933\u0001\u0000\u0000\u0000\u1945\u1935\u0001\u0000\u0000"+
58444 "\u0000\u1945\u1936\u0001\u0000\u0000\u0000\u1945\u1937\u0001\u0000\u0000"+
58445 "\u0000\u1945\u1938\u0001\u0000\u0000\u0000\u1945\u1939\u0001\u0000\u0000"+
58446 "\u0000\u1945\u193a\u0001\u0000\u0000\u0000\u1945\u193c\u0001\u0000\u0000"+
58447 "\u0000\u1945\u193d\u0001\u0000\u0000\u0000\u1945\u1940\u0001\u0000\u0000"+
58448 "\u0000\u1945\u1942\u0001\u0000\u0000\u0000\u1946\u0369\u0001\u0000\u0000"+
58449 "\u0000\u1947\u1953\u00053\u0000\u0000\u1948\u1953\u0005\u014c\u0000\u0000"+
58450 "\u1949\u1953\u0005\u0104\u0000\u0000\u194a\u194b\u0005\u014e\u0000\u0000"+
58451 "\u194b\u1953\u0005\u014f\u0000\u0000\u194c\u194d\u0005J\u0000\u0000\u194d"+
58452 "\u1953\u0005\u0150\u0000\u0000\u194e\u194f\u00053\u0000\u0000\u194f\u1950"+
58453 "\u0005s\u0000\u0000\u1950\u1951\u0005\u017d\u0000\u0000\u1951\u1953\u0005"+
58454 "\u014b\u0000\u0000\u1952\u1947\u0001\u0000\u0000\u0000\u1952\u1948\u0001"+
58455 "\u0000\u0000\u0000\u1952\u1949\u0001\u0000\u0000\u0000\u1952\u194a\u0001"+
58456 "\u0000\u0000\u0000\u1952\u194c\u0001\u0000\u0000\u0000\u1952\u194e\u0001"+
58457 "\u0000\u0000\u0000\u1953\u036b\u0001\u0000\u0000\u0000\u1954\u195a\u0003"+
58458 "\u036e\u01b7\u0000\u1955\u195a\u0003\u0370\u01b8\u0000\u1956\u195a\u0003"+
58459 "\u0372\u01b9\u0000\u1957\u195a\u0003\u0374\u01ba\u0000\u1958\u195a\u0003"+
58460 "\u0376\u01bb\u0000\u1959\u1954\u0001\u0000\u0000\u0000\u1959\u1955\u0001"+
58461 "\u0000\u0000\u0000\u1959\u1956\u0001\u0000\u0000\u0000\u1959\u1957\u0001"+
58462 "\u0000\u0000\u0000\u1959\u1958\u0001\u0000\u0000\u0000\u195a\u036d\u0001"+
58463 "\u0000\u0000\u0000\u195b\u1966\u0005\u014c\u0000\u0000\u195c\u195d\u0005"+
58464 "\u014e\u0000\u0000\u195d\u1966\u0005\u014f\u0000\u0000\u195e\u1966\u0005"+
58465 "3\u0000\u0000\u195f\u1966\u0005\u0104\u0000\u0000\u1960\u1961\u0005J\u0000"+
58466 "\u0000\u1961\u1966\u0005\u0150\u0000\u0000\u1962\u1963\u00053\u0000\u0000"+
58467 "\u1963\u1964\u0005s\u0000\u0000\u1964\u1966\u0005\u0175\u0000\u0000\u1965"+
58468 "\u195b\u0001\u0000\u0000\u0000\u1965\u195c\u0001\u0000\u0000\u0000\u1965"+
58469 "\u195e\u0001\u0000\u0000\u0000\u1965\u195f\u0001\u0000\u0000\u0000\u1965"+
58470 "\u1960\u0001\u0000\u0000\u0000\u1965\u1962\u0001\u0000\u0000\u0000\u1966"+
58471 "\u036f\u0001\u0000\u0000\u0000\u1967\u1973\u0005\u014c\u0000\u0000\u1968"+
58472 "\u1969\u0005\u014e\u0000\u0000\u1969\u1973\u0005\u014f\u0000\u0000\u196a"+
58473 "\u1973\u00053\u0000\u0000\u196b\u1973\u0005\u0104\u0000\u0000\u196c\u196d"+
58474 "\u0005J\u0000\u0000\u196d\u1973\u0005\u0150\u0000\u0000\u196e\u196f\u0005"+
58475 "3\u0000\u0000\u196f\u1970\u0005s\u0000\u0000\u1970\u1971\u0005\u0180\u0000"+
58476 "\u0000\u1971\u1973\u0005\u00b0\u0000\u0000\u1972\u1967\u0001\u0000\u0000"+
58477 "\u0000\u1972\u1968\u0001\u0000\u0000\u0000\u1972\u196a\u0001\u0000\u0000"+
58478 "\u0000\u1972\u196b\u0001\u0000\u0000\u0000\u1972\u196c\u0001\u0000\u0000"+
58479 "\u0000\u1972\u196e\u0001\u0000\u0000\u0000\u1973\u0371\u0001\u0000\u0000"+
58480 "\u0000\u1974\u1980\u0005\u014c\u0000\u0000\u1975\u1976\u0005\u014e\u0000"+
58481 "\u0000\u1976\u1980\u0005\u014f\u0000\u0000\u1977\u1980\u00053\u0000\u0000"+
58482 "\u1978\u1979\u0005J\u0000\u0000\u1979\u1980\u0005\u0150\u0000\u0000\u197a"+
58483 "\u197b\u00053\u0000\u0000\u197b\u197c\u0005s\u0000\u0000\u197c\u197d\u0005"+
58484 "\u0181\u0000\u0000\u197d\u197e\u0005\u0173\u0000\u0000\u197e\u1980\u0005"+
58485 "\u0182\u0000\u0000\u197f\u1974\u0001\u0000\u0000\u0000\u197f\u1975\u0001"+
58486 "\u0000\u0000\u0000\u197f\u1977\u0001\u0000\u0000\u0000\u197f\u1978\u0001"+
58487 "\u0000\u0000\u0000\u197f\u197a\u0001\u0000\u0000\u0000\u1980\u0373\u0001"+
58488 "\u0000\u0000\u0000\u1981\u198b\u0005\u014c\u0000\u0000\u1982\u1983\u0005"+
58489 "\u014e\u0000\u0000\u1983\u198b\u0005\u014f\u0000\u0000\u1984\u198b\u0005"+
58490 "3\u0000\u0000\u1985\u1986\u0005J\u0000\u0000\u1986\u198b\u0005\u0150\u0000"+
58491 "\u0000\u1987\u1988\u00053\u0000\u0000\u1988\u1989\u0005s\u0000\u0000\u1989"+
58492 "\u198b\u0005\u0183\u0000\u0000\u198a\u1981\u0001\u0000\u0000\u0000\u198a"+
58493 "\u1982\u0001\u0000\u0000\u0000\u198a\u1984\u0001\u0000\u0000\u0000\u198a"+
58494 "\u1985\u0001\u0000\u0000\u0000\u198a\u1987\u0001\u0000\u0000\u0000\u198b"+
58495 "\u0375\u0001\u0000\u0000\u0000\u198c\u1997\u0005\u014c\u0000\u0000\u198d"+
58496 "\u198e\u0005\u014e\u0000\u0000\u198e\u1997\u0005\u014f\u0000\u0000\u198f"+
58497 "\u1997\u0005\u02ad\u0000\u0000\u1990\u1997\u00053\u0000\u0000\u1991\u1992"+
58498 "\u0005J\u0000\u0000\u1992\u1997\u0005\u0150\u0000\u0000\u1993\u1994\u0005"+
58499 "3\u0000\u0000\u1994\u1995\u0005s\u0000\u0000\u1995\u1997\u0005\u0173\u0000"+
58500 "\u0000\u1996\u198c\u0001\u0000\u0000\u0000\u1996\u198d\u0001\u0000\u0000"+
58501 "\u0000\u1996\u198f\u0001\u0000\u0000\u0000\u1996\u1990\u0001\u0000\u0000"+
58502 "\u0000\u1996\u1991\u0001\u0000\u0000\u0000\u1996\u1993\u0001\u0000\u0000"+
58503 "\u0000\u1997\u0377\u0001\u0000\u0000\u0000\u1998\u19a9\u00053\u0000\u0000"+
58504 "\u1999\u19a9\u0005\u0149\u0000\u0000\u199a\u199c\u0005\u014c\u0000\u0000"+
58505 "\u199b\u199d\u0005\u0155\u0000\u0000\u199c\u199b\u0001\u0000\u0000\u0000"+
58506 "\u199c\u199d\u0001\u0000\u0000\u0000\u199d\u19a9\u0001\u0000\u0000\u0000"+
58507 "\u199e\u199f\u0005\u014e\u0000\u0000\u199f\u19a9\u0005\u014f\u0000\u0000"+
58508 "\u19a0\u19a2\u0005J\u0000\u0000\u19a1\u19a3\u0005s\u0000\u0000\u19a2\u19a1"+
58509 "\u0001\u0000\u0000\u0000\u19a2\u19a3\u0001\u0000\u0000\u0000\u19a3\u19a4"+
58510 "\u0001\u0000\u0000\u0000\u19a4\u19a9\u0005\u0150\u0000\u0000\u19a5\u19a6"+
58511 "\u00053\u0000\u0000\u19a6\u19a7\u0005s\u0000\u0000\u19a7\u19a9\u0005\u015f"+
58512 "\u0000\u0000\u19a8\u1998\u0001\u0000\u0000\u0000\u19a8\u1999\u0001\u0000"+
58513 "\u0000\u0000\u19a8\u199a\u0001\u0000\u0000\u0000\u19a8\u199e\u0001\u0000"+
58514 "\u0000\u0000\u19a8\u19a0\u0001\u0000\u0000\u0000\u19a8\u19a5\u0001\u0000"+
58515 "\u0000\u0000\u19a9\u0379\u0001\u0000\u0000\u0000\u19aa\u19b5\u0005\u014c"+
58516 "\u0000\u0000\u19ab\u19ac\u0005\u014e\u0000\u0000\u19ac\u19b5\u0005\u014f"+
58517 "\u0000\u0000\u19ad\u19b5\u00053\u0000\u0000\u19ae\u19b5\u0005\u0104\u0000"+
58518 "\u0000\u19af\u19b0\u0005J\u0000\u0000\u19b0\u19b5\u0005\u0150\u0000\u0000"+
58519 "\u19b1\u19b2\u00053\u0000\u0000\u19b2\u19b3\u0005s\u0000\u0000\u19b3\u19b5"+
58520 "\u0005\u0174\u0000\u0000\u19b4\u19aa\u0001\u0000\u0000\u0000\u19b4\u19ab"+
58521 "\u0001\u0000\u0000\u0000\u19b4\u19ad\u0001\u0000\u0000\u0000\u19b4\u19ae"+
58522 "\u0001\u0000\u0000\u0000\u19b4\u19af\u0001\u0000\u0000\u0000\u19b4\u19b1"+
58523 "\u0001\u0000\u0000\u0000\u19b5\u037b\u0001\u0000\u0000\u0000\u19b6\u19c2"+
58524 "\u00053\u0000\u0000\u19b7\u19c2\u0005\u014c\u0000\u0000\u19b8\u19c2\u0005"+
58525 "\u0104\u0000\u0000\u19b9\u19ba\u0005\u014e\u0000\u0000\u19ba\u19c2\u0005"+
58526 "\u014f\u0000\u0000\u19bb\u19bc\u0005J\u0000\u0000\u19bc\u19c2\u0005\u0150"+
58527 "\u0000\u0000\u19bd\u19be\u00053\u0000\u0000\u19be\u19bf\u0005s\u0000\u0000"+
58528 "\u19bf\u19c0\u0005\u0153\u0000\u0000\u19c0\u19c2\u0005C\u0000\u0000\u19c1"+
58529 "\u19b6\u0001\u0000\u0000\u0000\u19c1\u19b7\u0001\u0000\u0000\u0000\u19c1"+
58530 "\u19b8\u0001\u0000\u0000\u0000\u19c1\u19b9\u0001\u0000\u0000\u0000\u19c1"+
58531 "\u19bb\u0001\u0000\u0000\u0000\u19c1\u19bd\u0001\u0000\u0000\u0000\u19c2"+
58532 "\u037d\u0001\u0000\u0000\u0000\u19c3\u19cf\u0005\u014c\u0000\u0000\u19c4"+
58533 "\u19c5\u0005\u014e\u0000\u0000\u19c5\u19cf\u0005\u014f\u0000\u0000\u19c6"+
58534 "\u19cf\u00053\u0000\u0000\u19c7\u19cf\u0005\u0104\u0000\u0000\u19c8\u19c9"+
58535 "\u0005J\u0000\u0000\u19c9\u19cf\u0005\u0150\u0000\u0000\u19ca\u19cb\u0005"+
58536 "3\u0000\u0000\u19cb\u19cc\u0005s\u0000\u0000\u19cc\u19cd\u0005\u0154\u0000"+
58537 "\u0000\u19cd\u19cf\u0005C\u0000\u0000\u19ce\u19c3\u0001\u0000\u0000\u0000"+
58538 "\u19ce\u19c4\u0001\u0000\u0000\u0000\u19ce\u19c6\u0001\u0000\u0000\u0000"+
58539 "\u19ce\u19c7\u0001\u0000\u0000\u0000\u19ce\u19c8\u0001\u0000\u0000\u0000"+
58540 "\u19ce\u19ca\u0001\u0000\u0000\u0000\u19cf\u037f\u0001\u0000\u0000\u0000"+
58541 "\u19d0\u19db\u0005\u014c\u0000\u0000\u19d1\u19d2\u0005\u014e\u0000\u0000"+
58542 "\u19d2\u19db\u0005\u014f\u0000\u0000\u19d3\u19db\u00053\u0000\u0000\u19d4"+
58543 "\u19db\u0005\u0104\u0000\u0000\u19d5\u19d6\u0005J\u0000\u0000\u19d6\u19db"+
58544 "\u0005\u0150\u0000\u0000\u19d7\u19d8\u00053\u0000\u0000\u19d8\u19d9\u0005"+
58545 "s\u0000\u0000\u19d9\u19db\u0005\u0152\u0000\u0000\u19da\u19d0\u0001\u0000"+
58546 "\u0000\u0000\u19da\u19d1\u0001\u0000\u0000\u0000\u19da\u19d3\u0001\u0000"+
58547 "\u0000\u0000\u19da\u19d4\u0001\u0000\u0000\u0000\u19da\u19d5\u0001\u0000"+
58548 "\u0000\u0000\u19da\u19d7\u0001\u0000\u0000\u0000\u19db\u0381\u0001\u0000"+
58549 "\u0000\u0000\u19dc\u19ee\u00053\u0000\u0000\u19dd\u19ee\u0005\u0149\u0000"+
58550 "\u0000\u19de\u19e0\u0005\u014c\u0000\u0000\u19df\u19e1\u0005\u0155\u0000"+
58551 "\u0000\u19e0\u19df\u0001\u0000\u0000\u0000\u19e0\u19e1\u0001\u0000\u0000"+
58552 "\u0000\u19e1\u19ee\u0001\u0000\u0000\u0000\u19e2\u19e3\u0005\u014e\u0000"+
58553 "\u0000\u19e3\u19ee\u0005\u014f\u0000\u0000\u19e4\u19e6\u0005J\u0000\u0000"+
58554 "\u19e5\u19e7\u0005s\u0000\u0000\u19e6\u19e5\u0001\u0000\u0000\u0000\u19e6"+
58555 "\u19e7\u0001\u0000\u0000\u0000\u19e7\u19e8\u0001\u0000\u0000\u0000\u19e8"+
58556 "\u19ee\u0005\u0150\u0000\u0000\u19e9\u19ea\u00053\u0000\u0000\u19ea\u19eb"+
58557 "\u0005s\u0000\u0000\u19eb\u19ec\u0005\u015d\u0000\u0000\u19ec\u19ee\u0005"+
58558 "v\u0000\u0000\u19ed\u19dc\u0001\u0000\u0000\u0000\u19ed\u19dd\u0001\u0000"+
58559 "\u0000\u0000\u19ed\u19de\u0001\u0000\u0000\u0000\u19ed\u19e2\u0001\u0000"+
58560 "\u0000\u0000\u19ed\u19e4\u0001\u0000\u0000\u0000\u19ed\u19e9\u0001\u0000"+
58561 "\u0000\u0000\u19ee\u0383\u0001\u0000\u0000\u0000\u19ef\u19f2\u0003\u0386"+
58562 "\u01c3\u0000\u19f0\u19f2\u0003\u0388\u01c4\u0000\u19f1\u19ef\u0001\u0000"+
58563 "\u0000\u0000\u19f1\u19f0\u0001\u0000\u0000\u0000\u19f2\u0385\u0001\u0000"+
58564 "\u0000\u0000\u19f3\u19ff\u0005\u014c\u0000\u0000\u19f4\u19f5\u0005\u014e"+
58565 "\u0000\u0000\u19f5\u19ff\u0005\u014f\u0000\u0000\u19f6\u19ff\u00053\u0000"+
58566 "\u0000\u19f7\u19ff\u0005\u0104\u0000\u0000\u19f8\u19f9\u0005J\u0000\u0000"+
58567 "\u19f9\u19ff\u0005\u0150\u0000\u0000\u19fa\u19fb\u00053\u0000\u0000\u19fb"+
58568 "\u19fc\u0005s\u0000\u0000\u19fc\u19fd\u0005\u017d\u0000\u0000\u19fd\u19ff"+
58569 "\u0005\u014b\u0000\u0000\u19fe\u19f3\u0001\u0000\u0000\u0000\u19fe\u19f4"+
58570 "\u0001\u0000\u0000\u0000\u19fe\u19f6\u0001\u0000\u0000\u0000\u19fe\u19f7"+
58571 "\u0001\u0000\u0000\u0000\u19fe\u19f8\u0001\u0000\u0000\u0000\u19fe\u19fa"+
58572 "\u0001\u0000\u0000\u0000\u19ff\u0387\u0001\u0000\u0000\u0000\u1a00\u1a0c"+
58573 "\u00053\u0000\u0000\u1a01\u1a0c\u0005\u014c\u0000\u0000\u1a02\u1a0c\u0005"+
58574 "\u0104\u0000\u0000\u1a03\u1a04\u0005\u014e\u0000\u0000\u1a04\u1a0c\u0005"+
58575 "\u014f\u0000\u0000\u1a05\u1a06\u0005J\u0000\u0000\u1a06\u1a0c\u0005\u0150"+
58576 "\u0000\u0000\u1a07\u1a08\u00053\u0000\u0000\u1a08\u1a09\u0005s\u0000\u0000"+
58577 "\u1a09\u1a0a\u0005\u017d\u0000\u0000\u1a0a\u1a0c\u0005\u014b\u0000\u0000"+
58578 "\u1a0b\u1a00\u0001\u0000\u0000\u0000\u1a0b\u1a01\u0001\u0000\u0000\u0000"+
58579 "\u1a0b\u1a02\u0001\u0000\u0000\u0000\u1a0b\u1a03\u0001\u0000\u0000\u0000"+
58580 "\u1a0b\u1a05\u0001\u0000\u0000\u0000\u1a0b\u1a07\u0001\u0000\u0000\u0000"+
58581 "\u1a0c\u0389\u0001\u0000\u0000\u0000\u1a0d\u1a15\u0005\u014c\u0000\u0000"+
58582 "\u1a0e\u1a15\u0005\u0146\u0000\u0000\u1a0f\u1a15\u0005\u0104\u0000\u0000"+
58583 "\u1a10\u1a11\u0005\u014e\u0000\u0000\u1a11\u1a15\u0005\u014f\u0000\u0000"+
58584 "\u1a12\u1a13\u0005J\u0000\u0000\u1a13\u1a15\u0005\u0150\u0000\u0000\u1a14"+
58585 "\u1a0d\u0001\u0000\u0000\u0000\u1a14\u1a0e\u0001\u0000\u0000\u0000\u1a14"+
58586 "\u1a0f\u0001\u0000\u0000\u0000\u1a14\u1a10\u0001\u0000\u0000\u0000\u1a14"+
58587 "\u1a12\u0001\u0000\u0000\u0000\u1a15\u038b\u0001\u0000\u0000\u0000\u1a16"+
58588 "\u1a1f\u00053\u0000\u0000\u1a17\u1a1f\u0005\u014c\u0000\u0000\u1a18\u1a1f"+
58589 "\u0005\u0146\u0000\u0000\u1a19\u1a1f\u0005\u0104\u0000\u0000\u1a1a\u1a1b"+
58590 "\u0005\u014e\u0000\u0000\u1a1b\u1a1f\u0005\u014f\u0000\u0000\u1a1c\u1a1d"+
58591 "\u0005J\u0000\u0000\u1a1d\u1a1f\u0005\u0150\u0000\u0000\u1a1e\u1a16\u0001"+
58592 "\u0000\u0000\u0000\u1a1e\u1a17\u0001\u0000\u0000\u0000\u1a1e\u1a18\u0001"+
58593 "\u0000\u0000\u0000\u1a1e\u1a19\u0001\u0000\u0000\u0000\u1a1e\u1a1a\u0001"+
58594 "\u0000\u0000\u0000\u1a1e\u1a1c\u0001\u0000\u0000\u0000\u1a1f\u038d\u0001"+
58595 "\u0000\u0000\u0000\u1a20\u1a21\u0007b\u0000\u0000\u1a21\u038f\u0001\u0000"+
58596 "\u0000\u0000\u1a22\u1a23\u0005\u02d2\u0000\u0000\u1a23\u1a24\u0005\u000e"+
58597 "\u0000\u0000\u1a24\u1a25\u0005\u000e\u0000\u0000\u1a25\u0391\u0001\u0000"+
58598 "\u0000\u0000\u1a26\u1a4f\u0005\u0152\u0000\u0000\u1a27\u1a28\u0005\u0154"+
58599 "\u0000\u0000\u1a28\u1a4f\u0005C\u0000\u0000\u1a29\u1a2a\u0005\u015d\u0000"+
58600 "\u0000\u1a2a\u1a4f\u0005v\u0000\u0000\u1a2b\u1a4f\u0005\u0174\u0000\u0000"+
58601 "\u1a2c\u1a4f\u0005\u0105\u0000\u0000\u1a2d\u1a4f\u0005\u0106\u0000\u0000"+
58602 "\u1a2e\u1a2f\u0005\u0151\u0000\u0000\u1a2f\u1a4f\u0005\u0106\u0000\u0000"+
58603 "\u1a30\u1a31\u0005\u00cc\u0000\u0000\u1a31\u1a32\u0005\u0170\u0000\u0000"+
58604 "\u1a32\u1a4f\u0005\u015e\u0000\u0000\u1a33\u1a4f\u0005\u015f\u0000\u0000"+
58605 "\u1a34\u1a35\u0005\u017d\u0000\u0000\u1a35\u1a4f\u0007c\u0000\u0000\u1a36"+
58606 "\u1a4f\u0005\u0130\u0000\u0000\u1a37\u1a4f\u00056\u0000\u0000\u1a38\u1a39"+
58607 "\u0005\u02aa\u0000\u0000\u1a39\u1a3a\u0005\u02ab\u0000\u0000\u1a3a\u1a4f"+
58608 "\u0005\u02ac\u0000\u0000\u1a3b\u1a4f\u0005\u012a\u0000\u0000\u1a3c\u1a3d"+
58609 "\u0005\u0155\u0000\u0000\u1a3d\u1a4f\u0005\u0106\u0000\u0000\u1a3e\u1a4f"+
58610 "\u0005\u0175\u0000\u0000\u1a3f\u1a40\u0005\u0180\u0000\u0000\u1a40\u1a4f"+
58611 "\u0005\u00b0\u0000\u0000\u1a41\u1a42\u0005\u0181\u0000\u0000\u1a42\u1a43"+
58612 "\u0005\u0173\u0000\u0000\u1a43\u1a4f\u0005\u0182\u0000\u0000\u1a44\u1a4f"+
58613 "\u0005\u0183\u0000\u0000\u1a45\u1a4f\u0005\u0173\u0000\u0000\u1a46\u1a47"+
58614 "\u0005\u0153\u0000\u0000\u1a47\u1a4f\u0005C\u0000\u0000\u1a48\u1a4f\u0005"+
58615 ".\u0000\u0000\u1a49\u1a4f\u0005\u0146\u0000\u0000\u1a4a\u1a4f\u0005\u00b0"+
58616 "\u0000\u0000\u1a4b\u1a4c\u0005\u0165\u0000\u0000\u1a4c\u1a4d\u00056\u0000"+
58617 "\u0000\u1a4d\u1a4f\u0005\u018a\u0000\u0000\u1a4e\u1a26\u0001\u0000\u0000"+
58618 "\u0000\u1a4e\u1a27\u0001\u0000\u0000\u0000\u1a4e\u1a29\u0001\u0000\u0000"+
58619 "\u0000\u1a4e\u1a2b\u0001\u0000\u0000\u0000\u1a4e\u1a2c\u0001\u0000\u0000"+
58620 "\u0000\u1a4e\u1a2d\u0001\u0000\u0000\u0000\u1a4e\u1a2e\u0001\u0000\u0000"+
58621 "\u0000\u1a4e\u1a30\u0001\u0000\u0000\u0000\u1a4e\u1a33\u0001\u0000\u0000"+
58622 "\u0000\u1a4e\u1a34\u0001\u0000\u0000\u0000\u1a4e\u1a36\u0001\u0000\u0000"+
58623 "\u0000\u1a4e\u1a37\u0001\u0000\u0000\u0000\u1a4e\u1a38\u0001\u0000\u0000"+
58624 "\u0000\u1a4e\u1a3b\u0001\u0000\u0000\u0000\u1a4e\u1a3c\u0001\u0000\u0000"+
58625 "\u0000\u1a4e\u1a3e\u0001\u0000\u0000\u0000\u1a4e\u1a3f\u0001\u0000\u0000"+
58626 "\u0000\u1a4e\u1a41\u0001\u0000\u0000\u0000\u1a4e\u1a44\u0001\u0000\u0000"+
58627 "\u0000\u1a4e\u1a45\u0001\u0000\u0000\u0000\u1a4e\u1a46\u0001\u0000\u0000"+
58628 "\u0000\u1a4e\u1a48\u0001\u0000\u0000\u0000\u1a4e\u1a49\u0001\u0000\u0000"+
58629 "\u0000\u1a4e\u1a4a\u0001\u0000\u0000\u0000\u1a4e\u1a4b\u0001\u0000\u0000"+
58630 "\u0000\u1a4f\u0393\u0001\u0000\u0000\u0000\u1a50\u1a51\u0007d\u0000\u0000"+
58631 "\u1a51\u0395\u0001\u0000\u0000\u0000\u1a52\u1a53\u0003\u00e8t\u0000\u1a53"+
58632 "\u0397\u0001\u0000\u0000\u0000\u1a54\u1a5a\u0005\u02a0\u0000\u0000\u1a55"+
58633 "\u1a58\u0003\u001c\u000e\u0000\u1a56\u1a57\u0005M\u0000\u0000\u1a57\u1a59"+
58634 "\u0005\u02a1\u0000\u0000\u1a58\u1a56\u0001\u0000\u0000\u0000\u1a58\u1a59"+
58635 "\u0001\u0000\u0000\u0000\u1a59\u1a5b\u0001\u0000\u0000\u0000\u1a5a\u1a55"+
58636 "\u0001\u0000\u0000\u0000\u1a5a\u1a5b\u0001\u0000\u0000\u0000\u1a5b\u0399"+
58637 "\u0001\u0000\u0000\u0000\u1a5c\u1a5d\u00052\u0000\u0000\u1a5d\u1a66\u0005"+
58638 "\u0105\u0000\u0000\u1a5e\u1a67\u0003\u039c\u01ce\u0000\u1a5f\u1a67\u0003"+
58639 "\u039e\u01cf\u0000\u1a60\u1a67\u0003\u03a0\u01d0\u0000\u1a61\u1a67\u0003"+
58640 "\u03a2\u01d1\u0000\u1a62\u1a67\u0003\u03a8\u01d4\u0000\u1a63\u1a67\u0003"+
58641 "\u03aa\u01d5\u0000\u1a64\u1a67\u0003\u03ac\u01d6\u0000\u1a65\u1a67\u0003"+
58642 "\u03b2\u01d9\u0000\u1a66\u1a5e\u0001\u0000\u0000\u0000\u1a66\u1a5f\u0001"+
58643 "\u0000\u0000\u0000\u1a66\u1a60\u0001\u0000\u0000\u0000\u1a66\u1a61\u0001"+
58644 "\u0000\u0000\u0000\u1a66\u1a62\u0001\u0000\u0000\u0000\u1a66\u1a63\u0001"+
58645 "\u0000\u0000\u0000\u1a66\u1a64\u0001\u0000\u0000\u0000\u1a66\u1a65\u0001"+
58646 "\u0000\u0000\u0000\u1a66\u1a67\u0001\u0000\u0000\u0000\u1a67\u039b\u0001"+
58647 "\u0000\u0000\u0000\u1a68\u1a6c\u0003\u03b2\u01d9\u0000\u1a69\u1a6a\u0007"+
58648 "e\u0000\u0000\u1a6a\u1a6b\u0005\u012a\u0000\u0000\u1a6b\u1a6d\u0003*\u0015"+
58649 "\u0000\u1a6c\u1a69\u0001\u0000\u0000\u0000\u1a6c\u1a6d\u0001\u0000\u0000"+
58650 "\u0000\u1a6d\u1a77\u0001\u0000\u0000\u0000\u1a6e\u1a6f\u0005M\u0000\u0000"+
58651 "\u1a6f\u1a74\u0003\u03a6\u01d3\u0000\u1a70\u1a71\u0005%\u0000\u0000\u1a71"+
58652 "\u1a73\u0003\u03a6\u01d3\u0000\u1a72\u1a70\u0001\u0000\u0000\u0000\u1a73"+
58653 "\u1a76\u0001\u0000\u0000\u0000\u1a74\u1a72\u0001\u0000\u0000\u0000\u1a74"+
58654 "\u1a75\u0001\u0000\u0000\u0000\u1a75\u1a78\u0001\u0000\u0000\u0000\u1a76"+
58655 "\u1a74\u0001\u0000\u0000\u0000\u1a77\u1a6e\u0001\u0000\u0000\u0000\u1a77"+
58656 "\u1a78\u0001\u0000\u0000\u0000\u1a78\u039d\u0001\u0000\u0000\u0000\u1a79"+
58657 "\u1a83\u0003\u03ae\u01d7\u0000\u1a7a\u1a7b\u0005M\u0000\u0000\u1a7b\u1a80"+
58658 "\u0003\u03a4\u01d2\u0000\u1a7c\u1a7d\u0005%\u0000\u0000\u1a7d\u1a7f\u0003"+
58659 "\u03a4\u01d2\u0000\u1a7e\u1a7c\u0001\u0000\u0000\u0000\u1a7f\u1a82\u0001"+
58660 "\u0000\u0000\u0000\u1a80\u1a7e\u0001\u0000\u0000\u0000\u1a80\u1a81\u0001"+
58661 "\u0000\u0000\u0000\u1a81\u1a84\u0001\u0000\u0000\u0000\u1a82\u1a80\u0001"+
58662 "\u0000\u0000\u0000\u1a83\u1a7a\u0001\u0000\u0000\u0000\u1a83\u1a84\u0001"+
58663 "\u0000\u0000\u0000\u1a84\u1a9b\u0001\u0000\u0000\u0000\u1a85\u1a86\u0003"+
58664 "\u03b2\u01d9\u0000\u1a86\u1a87\u0005M\u0000\u0000\u1a87\u1a88\u0005\u00d5"+
58665 "\u0000\u0000\u1a88\u1a89\u0005\u0018\u0000\u0000\u1a89\u1a93\u0003\u001c"+
58666 "\u000e\u0000\u1a8a\u1a8b\u0005%\u0000\u0000\u1a8b\u1a90\u0003\u03a4\u01d2"+
58667 "\u0000\u1a8c\u1a8d\u0005%\u0000\u0000\u1a8d\u1a8f\u0003\u03a4\u01d2\u0000"+
58668 "\u1a8e\u1a8c\u0001\u0000\u0000\u0000\u1a8f\u1a92\u0001\u0000\u0000\u0000"+
58669 "\u1a90\u1a8e\u0001\u0000\u0000\u0000\u1a90\u1a91\u0001\u0000\u0000\u0000"+
58670 "\u1a91\u1a94\u0001\u0000\u0000\u0000\u1a92\u1a90\u0001\u0000\u0000\u0000"+
58671 "\u1a93\u1a8a\u0001\u0000\u0000\u0000\u1a93\u1a94\u0001\u0000\u0000\u0000"+
58672 "\u1a94\u1a9b\u0001\u0000\u0000\u0000\u1a95\u1a96\u0003\u03b0\u01d8\u0000"+
58673 "\u1a96\u1a97\u0005U\u0000\u0000\u1a97\u1a98\u0005\u0169\u0000\u0000\u1a98"+
58674 "\u1a99\u0005\u02a5\u0000\u0000\u1a99\u1a9b\u0001\u0000\u0000\u0000\u1a9a"+
58675 "\u1a79\u0001\u0000\u0000\u0000\u1a9a\u1a85\u0001\u0000\u0000\u0000\u1a9a"+
58676 "\u1a95\u0001\u0000\u0000\u0000\u1a9b\u039f\u0001\u0000\u0000\u0000\u1a9c"+
58677 "\u1aa0\u0003\u03ae\u01d7\u0000\u1a9d\u1a9e\u0007e\u0000\u0000\u1a9e\u1a9f"+
58678 "\u0005\u012a\u0000\u0000\u1a9f\u1aa1\u0003\u03ae\u01d7\u0000\u1aa0\u1a9d"+
58679 "\u0001\u0000\u0000\u0000\u1aa0\u1aa1\u0001\u0000\u0000\u0000\u1aa1\u1aa8"+
58680 "\u0001\u0000\u0000\u0000\u1aa2\u1aa3\u0003\u03b2\u01d9\u0000\u1aa3\u1aa4"+
58681 "\u0007e\u0000\u0000\u1aa4\u1aa5\u0005\u012a\u0000\u0000\u1aa5\u1aa6\u0003"+
58682 "\u03ae\u01d7\u0000\u1aa6\u1aa8\u0001\u0000\u0000\u0000\u1aa7\u1a9c\u0001"+
58683 "\u0000\u0000\u0000\u1aa7\u1aa2\u0001\u0000\u0000\u0000\u1aa8\u1ab2\u0001"+
58684 "\u0000\u0000\u0000\u1aa9\u1aaa\u0005M\u0000\u0000\u1aaa\u1aaf\u0003\u03a6"+
58685 "\u01d3\u0000\u1aab\u1aac\u0005%\u0000\u0000\u1aac\u1aae\u0003\u03a6\u01d3"+
58686 "\u0000\u1aad\u1aab\u0001\u0000\u0000\u0000\u1aae\u1ab1\u0001\u0000\u0000"+
58687 "\u0000\u1aaf\u1aad\u0001\u0000\u0000\u0000\u1aaf\u1ab0\u0001\u0000\u0000"+
58688 "\u0000\u1ab0\u1ab3\u0001\u0000\u0000\u0000\u1ab1\u1aaf\u0001\u0000\u0000"+
58689 "\u0000\u1ab2\u1aa9\u0001\u0000\u0000\u0000\u1ab2\u1ab3\u0001\u0000\u0000"+
58690 "\u0000\u1ab3\u03a1\u0001\u0000\u0000\u0000\u1ab4\u1ac9\u0003\u03b2\u01d9"+
58691 "\u0000\u1ab5\u1ab6\u0005\u00d6\u0000\u0000\u1ab6\u1ac0\u0005\u012a\u0000"+
58692 "\u0000\u1ab7\u1ab8\u0005M\u0000\u0000\u1ab8\u1abd\u0003\u03a6\u01d3\u0000"+
58693 "\u1ab9\u1aba\u0005%\u0000\u0000\u1aba\u1abc\u0003\u03a6\u01d3\u0000\u1abb"+
58694 "\u1ab9\u0001\u0000\u0000\u0000\u1abc\u1abf\u0001\u0000\u0000\u0000\u1abd"+
58695 "\u1abb\u0001\u0000\u0000\u0000\u1abd\u1abe\u0001\u0000\u0000\u0000\u1abe"+
58696 "\u1ac1\u0001\u0000\u0000\u0000\u1abf\u1abd\u0001\u0000\u0000\u0000\u1ac0"+
58697 "\u1ab7\u0001\u0000\u0000\u0000\u1ac0\u1ac1\u0001\u0000\u0000\u0000\u1ac1"+
58698 "\u1aca\u0001\u0000\u0000\u0000\u1ac2\u1ac3\u0007e\u0000\u0000\u1ac3\u1ac4"+
58699 "\u0005\u0174\u0000\u0000\u1ac4\u1aca\u0003*\u0015\u0000\u1ac5\u1ac6\u0007"+
58700 "e\u0000\u0000\u1ac6\u1ac7\u0005\u0154\u0000\u0000\u1ac7\u1ac8\u0005C\u0000"+
58701 "\u0000\u1ac8\u1aca\u0003*\u0015\u0000\u1ac9\u1ab5\u0001\u0000\u0000\u0000"+
58702 "\u1ac9\u1ac2\u0001\u0000\u0000\u0000\u1ac9\u1ac5\u0001\u0000\u0000\u0000"+
58703 "\u1aca\u03a3\u0001\u0000\u0000\u0000\u1acb\u1acc\u0005\u02a2\u0000\u0000"+
58704 "\u1acc\u1acd\u0005\u0018\u0000\u0000\u1acd\u1add\u00034\u001a\u0000\u1ace"+
58705 "\u1acf\u0005\u0292\u0000\u0000\u1acf\u1ad2\u0005\u0018\u0000\u0000\u1ad0"+
58706 "\u1ad3\u0005\u012f\u0000\u0000\u1ad1\u1ad3\u0003*\u0015\u0000\u1ad2\u1ad0"+
58707 "\u0001\u0000\u0000\u0000\u1ad2\u1ad1\u0001\u0000\u0000\u0000\u1ad3\u1add"+
58708 "\u0001\u0000\u0000\u0000\u1ad4\u1ad5\u0005\u02a6\u0000\u0000\u1ad5\u1ad6"+
58709 "\u0005\u0018\u0000\u0000\u1ad6\u1add\u0003\u03cc\u01e6\u0000\u1ad7\u1ad8"+
58710 "\u0005\u02a3\u0000\u0000\u1ad8\u1ada\u0005\u0018\u0000\u0000\u1ad9\u1adb"+
58711 "\u0007\u0000\u0000\u0000\u1ada\u1ad9\u0001\u0000\u0000\u0000\u1ada\u1adb"+
58712 "\u0001\u0000\u0000\u0000\u1adb\u1add\u0001\u0000\u0000\u0000\u1adc\u1acb"+
58713 "\u0001\u0000\u0000\u0000\u1adc\u1ace\u0001\u0000\u0000\u0000\u1adc\u1ad4"+
58714 "\u0001\u0000\u0000\u0000\u1adc\u1ad7\u0001\u0000\u0000\u0000\u1add\u03a5"+
58715 "\u0001\u0000\u0000\u0000\u1ade\u1adf\u0005\u02a2\u0000\u0000\u1adf\u1ae0"+
58716 "\u0005\u0018\u0000\u0000\u1ae0\u1aed\u00034\u001a\u0000\u1ae1\u1ae2\u0005"+
58717 "\u0292\u0000\u0000\u1ae2\u1ae5\u0005\u0018\u0000\u0000\u1ae3\u1ae6\u0005"+
58718 "\u012f\u0000\u0000\u1ae4\u1ae6\u0003*\u0015\u0000\u1ae5\u1ae3\u0001\u0000"+
58719 "\u0000\u0000\u1ae5\u1ae4\u0001\u0000\u0000\u0000\u1ae6\u1aed\u0001\u0000"+
58720 "\u0000\u0000\u1ae7\u1ae8\u0005\u02a3\u0000\u0000\u1ae8\u1aea\u0005\u0018"+
58721 "\u0000\u0000\u1ae9\u1aeb\u0007\u0000\u0000\u0000\u1aea\u1ae9\u0001\u0000"+
58722 "\u0000\u0000\u1aea\u1aeb\u0001\u0000\u0000\u0000\u1aeb\u1aed\u0001\u0000"+
58723 "\u0000\u0000\u1aec\u1ade\u0001\u0000\u0000\u0000\u1aec\u1ae1\u0001\u0000"+
58724 "\u0000\u0000\u1aec\u1ae7\u0001\u0000\u0000\u0000\u1aed\u03a7\u0001\u0000"+
58725 "\u0000\u0000\u1aee\u1af2\u0003\u03b2\u01d9\u0000\u1aef\u1af0\u0007e\u0000"+
58726 "\u0000\u1af0\u1af1\u0005\u012a\u0000\u0000\u1af1\u1af3\u0003*\u0015\u0000"+
58727 "\u1af2\u1aef\u0001\u0000\u0000\u0000\u1af2\u1af3\u0001\u0000\u0000\u0000"+
58728 "\u1af3\u1b03\u0001\u0000\u0000\u0000\u1af4\u1af5\u0005U\u0000\u0000\u1af5"+
58729 "\u1af6\u0005\u0169\u0000\u0000\u1af6\u1b00\u0005\u02a5\u0000\u0000\u1af7"+
58730 "\u1af8\u0005M\u0000\u0000\u1af8\u1afd\u0003\u03a6\u01d3\u0000\u1af9\u1afa"+
58731 "\u0005%\u0000\u0000\u1afa\u1afc\u0003\u03a6\u01d3\u0000\u1afb\u1af9\u0001"+
58732 "\u0000\u0000\u0000\u1afc\u1aff\u0001\u0000\u0000\u0000\u1afd\u1afb\u0001"+
58733 "\u0000\u0000\u0000\u1afd\u1afe\u0001\u0000\u0000\u0000\u1afe\u1b01\u0001"+
58734 "\u0000\u0000\u0000\u1aff\u1afd\u0001\u0000\u0000\u0000\u1b00\u1af7\u0001"+
58735 "\u0000\u0000\u0000\u1b00\u1b01\u0001\u0000\u0000\u0000\u1b01\u1b03\u0001"+
58736 "\u0000\u0000\u0000\u1b02\u1aee\u0001\u0000\u0000\u0000\u1b02\u1af4\u0001"+
58737 "\u0000\u0000\u0000\u1b03\u03a9\u0001\u0000\u0000\u0000\u1b04\u1b0a\u0003"+
58738 "\u03b2\u01d9\u0000\u1b05\u1b06\u0007e\u0000\u0000\u1b06\u1b07\u0005\u012a"+
58739 "\u0000\u0000\u1b07\u1b0b\u0003*\u0015\u0000\u1b08\u1b09\u0005\u00d6\u0000"+
58740 "\u0000\u1b09\u1b0b\u0005\u012a\u0000\u0000\u1b0a\u1b05\u0001\u0000\u0000"+
58741 "\u0000\u1b0a\u1b08\u0001\u0000\u0000\u0000\u1b0a\u1b0b\u0001\u0000\u0000"+
58742 "\u0000\u1b0b\u1b10\u0001\u0000\u0000\u0000\u1b0c\u1b0d\u0005M\u0000\u0000"+
58743 "\u1b0d\u1b0e\u0005\u02a2\u0000\u0000\u1b0e\u1b0f\u0005\u0018\u0000\u0000"+
58744 "\u1b0f\u1b11\u00034\u001a\u0000\u1b10\u1b0c\u0001\u0000\u0000\u0000\u1b10"+
58745 "\u1b11\u0001\u0000\u0000\u0000\u1b11\u03ab\u0001\u0000\u0000\u0000\u1b12"+
58746 "\u1b13\u0003\u03b0\u01d8\u0000\u1b13\u1b14\u0005U\u0000\u0000\u1b14\u1b15"+
58747 "\u0005\u0169\u0000\u0000\u1b15\u1b1a\u0005\u02a5\u0000\u0000\u1b16\u1b17"+
58748 "\u0005M\u0000\u0000\u1b17\u1b18\u0005\u02a2\u0000\u0000\u1b18\u1b19\u0005"+
58749 "\u0018\u0000\u0000\u1b19\u1b1b\u00034\u001a\u0000\u1b1a\u1b16\u0001\u0000"+
58750 "\u0000\u0000\u1b1a\u1b1b\u0001\u0000\u0000\u0000\u1b1b\u03ad\u0001\u0000"+
58751 "\u0000\u0000\u1b1c\u1b1d\u0003\u03b2\u01d9\u0000\u1b1d\u03af\u0001\u0000"+
58752 "\u0000\u0000\u1b1e\u1b1f\u0003\u03b2\u01d9\u0000\u1b1f\u03b1\u0001\u0000"+
58753 "\u0000\u0000\u1b20\u1b21\u0003\u03b4\u01da\u0000\u1b21\u03b3\u0001\u0000"+
58754 "\u0000\u0000\u1b22\u1b25\u0003*\u0015\u0000\u1b23\u1b24\u0005\u0014\u0000"+
58755 "\u0000\u1b24\u1b26\u0003*\u0015\u0000\u1b25\u1b23\u0001\u0000\u0000\u0000"+
58756 "\u1b25\u1b26\u0001\u0000\u0000\u0000\u1b26\u03b5\u0001\u0000\u0000\u0000"+
58757 "\u1b27\u1b28\u00054\u0000\u0000\u1b28\u1b2a\u0005\u0105\u0000\u0000\u1b29"+
58758 "\u1b2b\u0003\u00fa}\u0000\u1b2a\u1b29\u0001\u0000\u0000\u0000\u1b2a\u1b2b"+
58759 "\u0001\u0000\u0000\u0000\u1b2b\u1b2c\u0001\u0000\u0000\u0000\u1b2c\u1b2d"+
58760 "\u0003\u03b2\u01d9\u0000\u1b2d\u03b7\u0001\u0000\u0000\u0000\u1b2e\u1b2f"+
58761 "\u00053\u0000\u0000\u1b2f\u1b30\u0005\u0105\u0000\u0000\u1b30\u1b3d\u0003"+
58762 "\u03b2\u01d9\u0000\u1b31\u1b32\u0005M\u0000\u0000\u1b32\u1b37\u0003\u03ba"+
58763 "\u01dd\u0000\u1b33\u1b34\u0005%\u0000\u0000\u1b34\u1b36\u0003\u03ba\u01dd"+
58764 "\u0000\u1b35\u1b33\u0001\u0000\u0000\u0000\u1b36\u1b39\u0001\u0000\u0000"+
58765 "\u0000\u1b37\u1b35\u0001\u0000\u0000\u0000\u1b37\u1b38\u0001\u0000\u0000"+
58766 "\u0000\u1b38\u1b3e\u0001\u0000\u0000\u0000\u1b39\u1b37\u0001\u0000\u0000"+
58767 "\u0000\u1b3a\u1b3b\u0005U\u0000\u0000\u1b3b\u1b3c\u0005\u0169\u0000\u0000"+
58768 "\u1b3c\u1b3e\u0005\u02a5\u0000\u0000\u1b3d\u1b31\u0001\u0000\u0000\u0000"+
58769 "\u1b3d\u1b3a\u0001\u0000\u0000\u0000\u1b3e\u03b9\u0001\u0000\u0000\u0000"+
58770 "\u1b3f\u1b40\u0005\u00aa\u0000\u0000\u1b40\u1b41\u0005\u0018\u0000\u0000"+
58771 "\u1b41\u1b5f\u0003\u03b2\u01d9\u0000\u1b42\u1b43\u0005\u02a2\u0000\u0000"+
58772 "\u1b43\u1b46\u0005\u0018\u0000\u0000\u1b44\u1b47\u00034\u001a\u0000\u1b45"+
58773 "\u1b47\u0005l\u0000\u0000\u1b46\u1b44\u0001\u0000\u0000\u0000\u1b46\u1b45"+
58774 "\u0001\u0000\u0000\u0000\u1b47\u1b5f\u0001\u0000\u0000\u0000\u1b48\u1b49"+
58775 "\u0005\u012a\u0000\u0000\u1b49\u1b4a\u0005\u0018\u0000\u0000\u1b4a\u1b5f"+
58776 "\u0003*\u0015\u0000\u1b4b\u1b4c\u0005\u00d5\u0000\u0000\u1b4c\u1b4d\u0005"+
58777 "\u0018\u0000\u0000\u1b4d\u1b51\u0003\u001c\u000e\u0000\u1b4e\u1b4f\u0005"+
58778 "\u02a4\u0000\u0000\u1b4f\u1b50\u0005\u0018\u0000\u0000\u1b50\u1b52\u0003"+
58779 "\u001c\u000e\u0000\u1b51\u1b4e\u0001\u0000\u0000\u0000\u1b51\u1b52\u0001"+
58780 "\u0000\u0000\u0000\u1b52\u1b5f\u0001\u0000\u0000\u0000\u1b53\u1b54\u0005"+
58781 "\u0292\u0000\u0000\u1b54\u1b57\u0005\u0018\u0000\u0000\u1b55\u1b58\u0005"+
58782 "\u012f\u0000\u0000\u1b56\u1b58\u0003*\u0015\u0000\u1b57\u1b55\u0001\u0000"+
58783 "\u0000\u0000\u1b57\u1b56\u0001\u0000\u0000\u0000\u1b58\u1b5f\u0001\u0000"+
58784 "\u0000\u0000\u1b59\u1b5a\u0005\u02a3\u0000\u0000\u1b5a\u1b5c\u0005\u0018"+
58785 "\u0000\u0000\u1b5b\u1b5d\u0007\u0000\u0000\u0000\u1b5c\u1b5b\u0001\u0000"+
58786 "\u0000\u0000\u1b5c\u1b5d\u0001\u0000\u0000\u0000\u1b5d\u1b5f\u0001\u0000"+
58787 "\u0000\u0000\u1b5e\u1b3f\u0001\u0000\u0000\u0000\u1b5e\u1b42\u0001\u0000"+
58788 "\u0000\u0000\u1b5e\u1b48\u0001\u0000\u0000\u0000\u1b5e\u1b4b\u0001\u0000"+
58789 "\u0000\u0000\u1b5e\u1b53\u0001\u0000\u0000\u0000\u1b5e\u1b59\u0001\u0000"+
58790 "\u0000\u0000\u1b5f\u03bb\u0001\u0000\u0000\u0000\u1b60\u1b61\u00052\u0000"+
58791 "\u0000\u1b61\u1b62\u0005\u0106\u0000\u0000\u1b62\u1b65\u0003N\'\u0000"+
58792 "\u1b63\u1b64\u0005\u029b\u0000\u0000\u1b64\u1b66\u0003N\'\u0000\u1b65"+
58793 "\u1b63\u0001\u0000\u0000\u0000\u1b65\u1b66\u0001\u0000\u0000\u0000\u1b66"+
58794 "\u03bd\u0001\u0000\u0000\u0000\u1b67\u1b68\u00054\u0000\u0000\u1b68\u1b6a"+
58795 "\u0005\u0106\u0000\u0000\u1b69\u1b6b\u0003\u00fa}\u0000\u1b6a\u1b69\u0001"+
58796 "\u0000\u0000\u0000\u1b6a\u1b6b\u0001\u0000\u0000\u0000\u1b6b\u1b6c\u0001"+
58797 "\u0000\u0000\u0000\u1b6c\u1b6d\u0003N\'\u0000\u1b6d\u03bf\u0001\u0000"+
58798 "\u0000\u0000\u1b6e\u1b6f\u00053\u0000\u0000\u1b6f\u1b70\u0005\u0106\u0000"+
58799 "\u0000\u1b70\u1b7b\u0003N\'\u0000\u1b71\u1b72\u00059\u0000\u0000\u1b72"+
58800 "\u1b73\u0005\u02ae\u0000\u0000\u1b73\u1b7c\u0003\u0344\u01a2\u0000\u1b74"+
58801 "\u1b75\u00054\u0000\u0000\u1b75\u1b76\u0005\u02ae\u0000\u0000\u1b76\u1b7c"+
58802 "\u0003\u0344\u01a2\u0000\u1b77\u1b78\u0005M\u0000\u0000\u1b78\u1b79\u0005"+
58803 "\u00aa\u0000\u0000\u1b79\u1b7a\u0005\u0018\u0000\u0000\u1b7a\u1b7c\u0003"+
58804 "N\'\u0000\u1b7b\u1b71\u0001\u0000\u0000\u0000\u1b7b\u1b74\u0001\u0000"+
58805 "\u0000\u0000\u1b7b\u1b77\u0001\u0000\u0000\u0000\u1b7c\u03c1\u0001\u0000"+
58806 "\u0000\u0000\u1b7d\u1b7e\u00052\u0000\u0000\u1b7e\u1b7f\u0005\u012a\u0000"+
58807 "\u0000\u1b7f\u1b85\u0003\u03b4\u01da\u0000\u1b80\u1b86\u0003\u03c4\u01e2"+
58808 "\u0000\u1b81\u1b86\u0003\u03d2\u01e9\u0000\u1b82\u1b86\u0003\u03d6\u01eb"+
58809 "\u0000\u1b83\u1b86\u0003\u03da\u01ed\u0000\u1b84\u1b86\u0003\u03de\u01ef"+
58810 "\u0000\u1b85\u1b80\u0001\u0000\u0000\u0000\u1b85\u1b81\u0001\u0000\u0000"+
58811 "\u0000\u1b85\u1b82\u0001\u0000\u0000\u0000\u1b85\u1b83\u0001\u0000\u0000"+
58812 "\u0000\u1b85\u1b84\u0001\u0000\u0000\u0000\u1b86\u03c3\u0001\u0000\u0000"+
58813 "\u0000\u1b87\u1b88\u0005M\u0000\u0000\u1b88\u1b8c\u0003\u03c6\u01e3\u0000"+
58814 "\u1b89\u1b8a\u0005U\u0000\u0000\u1b8a\u1b8c\u0003\u03ce\u01e7\u0000\u1b8b"+
58815 "\u1b87\u0001\u0000\u0000\u0000\u1b8b\u1b89\u0001\u0000\u0000\u0000\u1b8c"+
58816 "\u03c5\u0001\u0000\u0000\u0000\u1b8d\u1b8e\u0005\u00d5\u0000\u0000\u1b8e"+
58817 "\u1b93\u0005\u0018\u0000\u0000\u1b8f\u1b94\u0003\u001c\u000e\u0000\u1b90"+
58818 "\u1b91\u0003\u03ca\u01e5\u0000\u1b91\u1b92\u0005\u02af\u0000\u0000\u1b92"+
58819 "\u1b94\u0001\u0000\u0000\u0000\u1b93\u1b8f\u0001\u0000\u0000\u0000\u1b93"+
58820 "\u1b90\u0001\u0000\u0000\u0000\u1b94\u1b96\u0001\u0000\u0000\u0000\u1b95"+
58821 "\u1b97\u0005\u02b0\u0000\u0000\u1b96\u1b95\u0001\u0000\u0000\u0000\u1b96"+
58822 "\u1b97\u0001\u0000\u0000\u0000\u1b97\u1ba1\u0001\u0000\u0000\u0000\u1b98"+
58823 "\u1b99\u0005%\u0000\u0000\u1b99\u1b9e\u0003\u03c8\u01e4\u0000\u1b9a\u1b9b"+
58824 "\u0005%\u0000\u0000\u1b9b\u1b9d\u0003\u03c8\u01e4\u0000\u1b9c\u1b9a\u0001"+
58825 "\u0000\u0000\u0000\u1b9d\u1ba0\u0001\u0000\u0000\u0000\u1b9e\u1b9c\u0001"+
58826 "\u0000\u0000\u0000\u1b9e\u1b9f\u0001\u0000\u0000\u0000\u1b9f\u1ba2\u0001"+
58827 "\u0000\u0000\u0000\u1ba0\u1b9e\u0001\u0000\u0000\u0000\u1ba1\u1b98\u0001"+
58828 "\u0000\u0000\u0000\u1ba1\u1ba2\u0001\u0000\u0000\u0000\u1ba2\u03c7\u0001"+
58829 "\u0000\u0000\u0000\u1ba3\u1ba4\u0005\u02a6\u0000\u0000\u1ba4\u1ba5\u0005"+
58830 "\u0018\u0000\u0000\u1ba5\u1bb6\u0003\u03cc\u01e6\u0000\u1ba6\u1ba7\u0005"+
58831 "\u02b1\u0000\u0000\u1ba7\u1ba8\u0005\u0018\u0000\u0000\u1ba8\u1bb6\u0003"+
58832 "2\u0019\u0000\u1ba9\u1baa\u0005\u0292\u0000\u0000\u1baa\u1bab\u0005\u0018"+
58833 "\u0000\u0000\u1bab\u1bb6\u0003*\u0015\u0000\u1bac\u1bad\u0005\u02b2\u0000"+
58834 "\u0000\u1bad\u1bae\u0005\u0018\u0000\u0000\u1bae\u1bb6\u0007\u0000\u0000"+
58835 "\u0000\u1baf\u1bb0\u0005\u02b3\u0000\u0000\u1bb0\u1bb1\u0005\u0018\u0000"+
58836 "\u0000\u1bb1\u1bb6\u0007\u0000\u0000\u0000\u1bb2\u1bb3\u0005\u015e\u0000"+
58837 "\u0000\u1bb3\u1bb4\u0005\u0018\u0000\u0000\u1bb4\u1bb6\u0003*\u0015\u0000"+
58838 "\u1bb5\u1ba3\u0001\u0000\u0000\u0000\u1bb5\u1ba6\u0001\u0000\u0000\u0000"+
58839 "\u1bb5\u1ba9\u0001\u0000\u0000\u0000\u1bb5\u1bac\u0001\u0000\u0000\u0000"+
58840 "\u1bb5\u1baf\u0001\u0000\u0000\u0000\u1bb5\u1bb2\u0001\u0000\u0000\u0000"+
58841 "\u1bb6\u03c9\u0001\u0000\u0000\u0000\u1bb7\u1bb8\u0005\u02d9\u0000\u0000"+
58842 "\u1bb8\u03cb\u0001\u0000\u0000\u0000\u1bb9\u1bba\u0007f\u0000\u0000\u1bba"+
58843 "\u03cd\u0001\u0000\u0000\u0000\u1bbb\u1bc5\u0005\u02b4\u0000\u0000\u1bbc"+
58844 "\u1bbd\u0005M\u0000\u0000\u1bbd\u1bc2\u0003\u03d0\u01e8\u0000\u1bbe\u1bbf"+
58845 "\u0005%\u0000\u0000\u1bbf\u1bc1\u0003\u03d0\u01e8\u0000\u1bc0\u1bbe\u0001"+
58846 "\u0000\u0000\u0000\u1bc1\u1bc4\u0001\u0000\u0000\u0000\u1bc2\u1bc0\u0001"+
58847 "\u0000\u0000\u0000\u1bc2\u1bc3\u0001\u0000\u0000\u0000\u1bc3\u1bc6\u0001"+
58848 "\u0000\u0000\u0000\u1bc4\u1bc2\u0001\u0000\u0000\u0000\u1bc5\u1bbc\u0001"+
58849 "\u0000\u0000\u0000\u1bc5\u1bc6\u0001\u0000\u0000\u0000\u1bc6\u1bcd\u0001"+
58850 "\u0000\u0000\u0000\u1bc7\u1bc8\u0005\u0174\u0000\u0000\u1bc8\u1bcd\u0003"+
58851 "*\u0015\u0000\u1bc9\u1bca\u0005\u0154\u0000\u0000\u1bca\u1bcb\u0005C\u0000"+
58852 "\u0000\u1bcb\u1bcd\u0003*\u0015\u0000\u1bcc\u1bbb\u0001\u0000\u0000\u0000"+
58853 "\u1bcc\u1bc7\u0001\u0000\u0000\u0000\u1bcc\u1bc9\u0001\u0000\u0000\u0000"+
58854 "\u1bcd\u03cf\u0001\u0000\u0000\u0000\u1bce\u1bcf\u0005\u02b1\u0000\u0000"+
58855 "\u1bcf\u1bd0\u0005\u0018\u0000\u0000\u1bd0\u1bd5\u00032\u0019\u0000\u1bd1"+
58856 "\u1bd2\u0005\u0292\u0000\u0000\u1bd2\u1bd3\u0005\u0018\u0000\u0000\u1bd3"+
58857 "\u1bd5\u0003*\u0015\u0000\u1bd4\u1bce\u0001\u0000\u0000\u0000\u1bd4\u1bd1"+
58858 "\u0001\u0000\u0000\u0000\u1bd5\u03d1\u0001\u0000\u0000\u0000\u1bd6\u1bd7"+
58859 "\u0005U\u0000\u0000\u1bd7\u1bd8\u0005\u0169\u0000\u0000\u1bd8\u1be3\u0005"+
58860 "\u02a5\u0000\u0000\u1bd9";
58861 private static final String _serializedATNSegment3 =
58862 "\u1bda\u0005M\u0000\u0000\u1bda\u1bdf\u0003\u03d4\u01ea\u0000\u1bdb\u1bdc"+
58863 "\u0005%\u0000\u0000\u1bdc\u1bde\u0003\u03d4\u01ea\u0000\u1bdd\u1bdb\u0001"+
58864 "\u0000\u0000\u0000\u1bde\u1be1\u0001\u0000\u0000\u0000\u1bdf\u1bdd\u0001"+
58865 "\u0000\u0000\u0000\u1bdf\u1be0\u0001\u0000\u0000\u0000\u1be0\u1be3\u0001"+
58866 "\u0000\u0000\u0000\u1be1\u1bdf\u0001\u0000\u0000\u0000\u1be2\u1bd6\u0001"+
58867 "\u0000\u0000\u0000\u1be2\u1bd9\u0001\u0000\u0000\u0000\u1be3\u03d3\u0001"+
58868 "\u0000\u0000\u0000\u1be4\u1be5\u0005\u00d5\u0000\u0000\u1be5\u1be6\u0005"+
58869 "\u0018\u0000\u0000\u1be6\u1beb\u0003\u001c\u000e\u0000\u1be7\u1be8\u0005"+
58870 "%\u0000\u0000\u1be8\u1be9\u0005\u02a6\u0000\u0000\u1be9\u1bea\u0005\u0018"+
58871 "\u0000\u0000\u1bea\u1bec\u0003\u03cc\u01e6\u0000\u1beb\u1be7\u0001\u0000"+
58872 "\u0000\u0000\u1beb\u1bec\u0001\u0000\u0000\u0000\u1bec\u03d5\u0001\u0000"+
58873 "\u0000\u0000\u1bed\u1bee\u0005U\u0000\u0000\u1bee\u1bef\u0005\u0169\u0000"+
58874 "\u0000\u1bef\u1bf1\u0005\u02a5\u0000\u0000\u1bf0\u1bed\u0001\u0000\u0000"+
58875 "\u0000\u1bf0\u1bf1\u0001\u0000\u0000\u0000\u1bf1\u1bf2\u0001\u0000\u0000"+
58876 "\u0000\u1bf2\u1bf3\u0005M\u0000\u0000\u1bf3\u1bf8\u0003\u03d8\u01ec\u0000"+
58877 "\u1bf4\u1bf5\u0005%\u0000\u0000\u1bf5\u1bf7\u0003\u03d8\u01ec\u0000\u1bf6"+
58878 "\u1bf4\u0001\u0000\u0000\u0000\u1bf7\u1bfa\u0001\u0000\u0000\u0000\u1bf8"+
58879 "\u1bf6\u0001\u0000\u0000\u0000\u1bf8\u1bf9\u0001\u0000\u0000\u0000\u1bf9"+
58880 "\u03d7\u0001\u0000\u0000\u0000\u1bfa\u1bf8\u0001\u0000\u0000\u0000\u1bfb"+
58881 "\u1bfc\u0005\u00d5\u0000\u0000\u1bfc\u1bfd\u0005\u0018\u0000\u0000\u1bfd"+
58882 "\u1c08\u0003\u001c\u000e\u0000\u1bfe\u1bff\u0005\u02a6\u0000\u0000\u1bff"+
58883 "\u1c00\u0005\u0018\u0000\u0000\u1c00\u1c08\u0003\u03cc\u01e6\u0000\u1c01"+
58884 "\u1c02\u0005\u02b1\u0000\u0000\u1c02\u1c03\u0005\u0018\u0000\u0000\u1c03"+
58885 "\u1c08\u00032\u0019\u0000\u1c04\u1c05\u0005\u0292\u0000\u0000\u1c05\u1c06"+
58886 "\u0005\u0018\u0000\u0000\u1c06\u1c08\u0003*\u0015\u0000\u1c07\u1bfb\u0001"+
58887 "\u0000\u0000\u0000\u1c07\u1bfe\u0001\u0000\u0000\u0000\u1c07\u1c01\u0001"+
58888 "\u0000\u0000\u0000\u1c07\u1c04\u0001\u0000\u0000\u0000\u1c08\u03d9\u0001"+
58889 "\u0000\u0000\u0000\u1c09\u1c0a\u0005M\u0000\u0000\u1c0a\u1c0b\u0003\u03dc"+
58890 "\u01ee\u0000\u1c0b\u03db\u0001\u0000\u0000\u0000\u1c0c\u1c0d\u0005\u00d5"+
58891 "\u0000\u0000\u1c0d\u1c0e\u0005\u0018\u0000\u0000\u1c0e\u1c13\u0003\u001c"+
58892 "\u000e\u0000\u1c0f\u1c10\u0005%\u0000\u0000\u1c10\u1c11\u0005\u02a6\u0000"+
58893 "\u0000\u1c11\u1c12\u0005\u0018\u0000\u0000\u1c12\u1c14\u0003\u03cc\u01e6"+
58894 "\u0000\u1c13\u1c0f\u0001\u0000\u0000\u0000\u1c13\u1c14\u0001\u0000\u0000"+
58895 "\u0000\u1c14\u03dd\u0001\u0000\u0000\u0000\u1c15\u1c16\u0005M\u0000\u0000"+
58896 "\u1c16\u1c1a\u0003\u03e0\u01f0\u0000\u1c17\u1c18\u0005U\u0000\u0000\u1c18"+
58897 "\u1c1a\u0005\u02b4\u0000\u0000\u1c19\u1c15\u0001\u0000\u0000\u0000\u1c19"+
58898 "\u1c17\u0001\u0000\u0000\u0000\u1c1a\u03df\u0001\u0000\u0000\u0000\u1c1b"+
58899 "\u1c1c\u0005\u00d5\u0000\u0000\u1c1c\u1c1d\u0005\u0018\u0000\u0000\u1c1d"+
58900 "\u1c1f\u0003\u001c\u000e\u0000\u1c1e\u1c20\u0005\u02b0\u0000\u0000\u1c1f"+
58901 "\u1c1e\u0001\u0000\u0000\u0000\u1c1f\u1c20\u0001\u0000\u0000\u0000\u1c20"+
58902 "\u1c2a\u0001\u0000\u0000\u0000\u1c21\u1c22\u0005%\u0000\u0000\u1c22\u1c27"+
58903 "\u0003\u03e2\u01f1\u0000\u1c23\u1c24\u0005%\u0000\u0000\u1c24\u1c26\u0003"+
58904 "\u03e2\u01f1\u0000\u1c25\u1c23\u0001\u0000\u0000\u0000\u1c26\u1c29\u0001"+
58905 "\u0000\u0000\u0000\u1c27\u1c25\u0001\u0000\u0000\u0000\u1c27\u1c28\u0001"+
58906 "\u0000\u0000\u0000\u1c28\u1c2b\u0001\u0000\u0000\u0000\u1c29\u1c27\u0001"+
58907 "\u0000\u0000\u0000\u1c2a\u1c21\u0001\u0000\u0000\u0000\u1c2a\u1c2b\u0001"+
58908 "\u0000\u0000\u0000\u1c2b\u03e1\u0001\u0000\u0000\u0000\u1c2c\u1c2d\u0005"+
58909 "\u02b2\u0000\u0000\u1c2d\u1c2e\u0005\u0018\u0000\u0000\u1c2e\u1c33\u0007"+
58910 "\u0000\u0000\u0000\u1c2f\u1c30\u0005\u02b3\u0000\u0000\u1c30\u1c31\u0005"+
58911 "\u0018\u0000\u0000\u1c31\u1c33\u0007\u0000\u0000\u0000\u1c32\u1c2c\u0001"+
58912 "\u0000\u0000\u0000\u1c32\u1c2f\u0001\u0000\u0000\u0000\u1c33\u03e3\u0001"+
58913 "\u0000\u0000\u0000\u1c34\u1c35\u00054\u0000\u0000\u1c35\u1c36\u0005\u012a"+
58914 "\u0000\u0000\u1c36\u1c37\u0003\u03b4\u01da\u0000\u1c37\u03e5\u0001\u0000"+
58915 "\u0000\u0000\u1c38\u1c39\u00053\u0000\u0000\u1c39\u1c3a\u0005\u012a\u0000"+
58916 "\u0000\u1c3a\u1c46\u0003\u03b4\u01da\u0000\u1c3b\u1c47\u0003\u03e8\u01f4"+
58917 "\u0000\u1c3c\u1c3d\u0005M\u0000\u0000\u1c3d\u1c42\u0003\u03ea\u01f5\u0000"+
58918 "\u1c3e\u1c3f\u0005%\u0000\u0000\u1c3f\u1c41\u0003\u03ea\u01f5\u0000\u1c40"+
58919 "\u1c3e\u0001\u0000\u0000\u0000\u1c41\u1c44\u0001\u0000\u0000\u0000\u1c42"+
58920 "\u1c40\u0001\u0000\u0000\u0000\u1c42\u1c43\u0001\u0000\u0000\u0000\u1c43"+
58921 "\u1c47\u0001\u0000\u0000\u0000\u1c44\u1c42\u0001\u0000\u0000\u0000\u1c45"+
58922 "\u1c47\u0003\u03ee\u01f7\u0000\u1c46\u1c3b\u0001\u0000\u0000\u0000\u1c46"+
58923 "\u1c3c\u0001\u0000\u0000\u0000\u1c46\u1c45\u0001\u0000\u0000\u0000\u1c47"+
58924 "\u03e7\u0001\u0000\u0000\u0000\u1c48\u1c49\u0007/\u0000\u0000\u1c49\u03e9"+
58925 "\u0001\u0000\u0000\u0000\u1c4a\u1c4b\u0005\u00d5\u0000\u0000\u1c4b\u1c50"+
58926 "\u0005\u0018\u0000\u0000\u1c4c\u1c51\u0003\u001c\u000e\u0000\u1c4d\u1c4e"+
58927 "\u0003\u03ca\u01e5\u0000\u1c4e\u1c4f\u0005\u02af\u0000\u0000\u1c4f\u1c51"+
58928 "\u0001\u0000\u0000\u0000\u1c50\u1c4c\u0001\u0000\u0000\u0000\u1c50\u1c4d"+
58929 "\u0001\u0000\u0000\u0000\u1c51\u1c59\u0001\u0000\u0000\u0000\u1c52\u1c53"+
58930 "\u0005\u02a4\u0000\u0000\u1c53\u1c54\u0005\u0018\u0000\u0000\u1c54\u1c5a"+
58931 "\u0003\u001c\u000e\u0000\u1c55\u1c57\u0003\u03ec\u01f6\u0000\u1c56\u1c58"+
58932 "\u0003\u03ec\u01f6\u0000\u1c57\u1c56\u0001\u0000\u0000\u0000\u1c57\u1c58"+
58933 "\u0001\u0000\u0000\u0000\u1c58\u1c5a\u0001\u0000\u0000\u0000\u1c59\u1c52"+
58934 "\u0001\u0000\u0000\u0000\u1c59\u1c55\u0001\u0000\u0000\u0000\u1c59\u1c5a"+
58935 "\u0001\u0000\u0000\u0000\u1c5a\u1c70\u0001\u0000\u0000\u0000\u1c5b\u1c5c"+
58936 "\u0005\u02b1\u0000\u0000\u1c5c\u1c5d\u0005\u0018\u0000\u0000\u1c5d\u1c70"+
58937 "\u00032\u0019\u0000\u1c5e\u1c5f\u0005\u0292\u0000\u0000\u1c5f\u1c60\u0005"+
58938 "\u0018\u0000\u0000\u1c60\u1c70\u0003*\u0015\u0000\u1c61\u1c62\u0005\u00aa"+
58939 "\u0000\u0000\u1c62\u1c63\u0005\u0018\u0000\u0000\u1c63\u1c70\u0003\u03b4"+
58940 "\u01da\u0000\u1c64\u1c65\u0005\u02b3\u0000\u0000\u1c65\u1c66\u0005\u0018"+
58941 "\u0000\u0000\u1c66\u1c70\u0007\u0000\u0000\u0000\u1c67\u1c68\u0005\u02b2"+
58942 "\u0000\u0000\u1c68\u1c69\u0005\u0018\u0000\u0000\u1c69\u1c70\u0007\u0000"+
58943 "\u0000\u0000\u1c6a\u1c6b\u0005\u015e\u0000\u0000\u1c6b\u1c6c\u0005\u0018"+
58944 "\u0000\u0000\u1c6c\u1c70\u0003*\u0015\u0000\u1c6d\u1c6e\u0005\u0101\u0000"+
58945 "\u0000\u1c6e\u1c70\u0005\u015e\u0000\u0000\u1c6f\u1c4a\u0001\u0000\u0000"+
58946 "\u0000\u1c6f\u1c5b\u0001\u0000\u0000\u0000\u1c6f\u1c5e\u0001\u0000\u0000"+
58947 "\u0000\u1c6f\u1c61\u0001\u0000\u0000\u0000\u1c6f\u1c64\u0001\u0000\u0000"+
58948 "\u0000\u1c6f\u1c67\u0001\u0000\u0000\u0000\u1c6f\u1c6a\u0001\u0000\u0000"+
58949 "\u0000\u1c6f\u1c6d\u0001\u0000\u0000\u0000\u1c70\u03eb\u0001\u0000\u0000"+
58950 "\u0000\u1c71\u1c72\u0007g\u0000\u0000\u1c72\u03ed\u0001\u0000\u0000\u0000"+
58951 "\u1c73\u1c74\u00059\u0000\u0000\u1c74\u1c75\u0005\u015e\u0000\u0000\u1c75"+
58952 "\u1c7a\u0003*\u0015\u0000\u1c76\u1c77\u00054\u0000\u0000\u1c77\u1c78\u0005"+
58953 "\u015e\u0000\u0000\u1c78\u1c7a\u0003*\u0015\u0000\u1c79\u1c73\u0001\u0000"+
58954 "\u0000\u0000\u1c79\u1c76\u0001\u0000\u0000\u0000\u1c7a\u03ef\u0001\u0000"+
58955 "\u0000\u0000\u1c7b\u1c80\u0005\u02b6\u0000\u0000\u1c7c\u1c7d\u0005M\u0000"+
58956 "\u0000\u1c7d\u1c7e\u0005\u02b7\u0000\u0000\u1c7e\u1c7f\u0005\u0018\u0000"+
58957 "\u0000\u1c7f\u1c81\u0003\u00ecv\u0000\u1c80\u1c7c\u0001\u0000\u0000\u0000"+
58958 "\u1c80\u1c81\u0001\u0000\u0000\u0000\u1c81\u03f1\u0001\u0000\u0000\u0000"+
58959 "\u0353\u042d\u0430\u0440\u044c\u0452\u0454\u0456\u045d\u0463\u0465\u046d"+
58960 "\u0471\u0479\u047d\u0483\u048e\u0493\u049e\u04aa\u04ae\u04bb\u04c2\u04c7"+
58961 "\u04cc\u04d3\u04da\u04e1\u04e4\u04e7\u04ee\u04f9\u04fe\u0502\u0513\u051e"+
58962 "\u0524\u052b\u052f\u053a\u0540\u0542\u0547\u0554\u0562\u0564\u056d\u057a"+
58963 "\u0589\u058b\u0592\u0599\u05a2\u05a9\u05b2\u05b8\u05bb\u05de\u05e0\u05ee"+
58964 "\u05f2\u05fa\u0600\u060d\u0614\u061a\u061e\u0625\u062b\u0630\u0637\u063b"+
58965 "\u064b\u0656\u0663\u0669\u0679\u067f\u0688\u068c\u068e\u0699\u069d\u06ab"+
58966 "\u06b4\u06b9\u06c2\u06c6\u06cf\u06d7\u06db\u06e8\u06ed\u06f9\u06fe\u0707"+
58967 "\u070b\u0712\u0719\u071d\u0722\u0725\u0735\u073e\u074a\u074c\u0751\u0755"+
58968 "\u0758\u075d\u0766\u076b\u0773\u077f\u0788\u078e\u0795\u079f\u07a2\u07a5"+
58969 "\u07b0\u07b8\u07c1\u07c9\u07d1\u07d5\u07e2\u07e4\u07ed\u0802\u0807\u0813"+
58970 "\u0820\u0829\u0836\u084b\u0854\u0858\u0871\u087b\u0885\u088e\u089c\u08a4"+
58971 "\u08aa\u08b2\u08bd\u08c4\u08ce\u08d3\u08f4\u08fd\u0900\u0907\u090e\u0915"+
58972 "\u091e\u0925\u092b\u0932\u0938\u093f\u0945\u094c\u0952\u0959\u0960\u0962"+
58973 "\u0967\u096e\u0978\u0984\u098b\u098f\u0991\u0994\u0998\u099b\u09a1\u09a6"+
58974 "\u09b1\u09b5\u09b7\u09ba\u09bf\u09ce\u09d2\u09de\u09e3\u09ec\u09f3\u09f8"+
58975 "\u0a07\u0a11\u0a1c\u0a1f\u0a2b\u0a2f\u0a41\u0a46\u0a4a\u0a4f\u0a53\u0a5a"+
58976 "\u0a5f\u0a67\u0a70\u0a74\u0a78\u0a7b\u0a7e\u0a81\u0a8f\u0a94\u0a99\u0aab"+
58977 "\u0aad\u0ab8\u0ac0\u0ac5\u0ace\u0ad5\u0adb\u0ae4\u0ae7\u0aea\u0aed\u0af6"+
58978 "\u0afe\u0b07\u0b0e\u0b11\u0b19\u0b1b\u0b1e\u0b28\u0b2d\u0b32\u0b36\u0b39"+
58979 "\u0b3d\u0b40\u0b45\u0b4d\u0b56\u0b5e\u0b61\u0b64\u0b67\u0b6d\u0b71\u0b79"+
58980 "\u0b8f\u0b91\u0b96\u0b98\u0b9f\u0ba1\u0ba5\u0bad\u0bbb\u0bc4\u0bd3\u0bd9"+
58981 "\u0bdd\u0be4\u0bf8\u0c01\u0c04\u0c1a\u0c1c\u0c27\u0c37\u0c3c\u0c40\u0c45"+
58982 "\u0c4c\u0c56\u0c5d\u0c60\u0c6b\u0c6f\u0c74\u0c7a\u0c7f\u0c82\u0c8d\u0c96"+
58983 "\u0c9a\u0ca9\u0cb0\u0cbc\u0cbf\u0cc3\u0cc7\u0cd0\u0cd3\u0cd6\u0cdd\u0ce2"+
58984 "\u0ceb\u0cff\u0d01\u0d07\u0d0e\u0d13\u0d1a\u0d1e\u0d24\u0d2a\u0d2f\u0d35"+
58985 "\u0d3c\u0d42\u0d4b\u0d52\u0d54\u0d5a\u0d5d\u0d60\u0d65\u0d6c\u0d75\u0d7a"+
58986 "\u0d83\u0d85\u0d8a\u0d93\u0d95\u0d98\u0daa\u0dac\u0db6\u0dbd\u0dc0\u0dc4"+
58987 "\u0dcc\u0dcf\u0dd3\u0dda\u0de1\u0dec\u0e08\u0e10\u0e22\u0e24\u0e2b\u0e2e"+
58988 "\u0e30\u0e37\u0e39\u0e3e\u0e45\u0e4a\u0e4d\u0e51\u0e5a\u0e5d\u0e65\u0e69"+
58989 "\u0e6d\u0e72\u0e77\u0e7b\u0e86\u0e8d\u0e93\u0e97\u0e9b\u0ea3\u0ea5\u0ea8"+
58990 "\u0eaf\u0eb4\u0ebd\u0ec2\u0eca\u0ed1\u0ed9\u0ee2\u0eee\u0efe\u0f01\u0f03"+
58991 "\u0f06\u0f09\u0f0c\u0f0f\u0f21\u0f26\u0f2b\u0f30\u0f33\u0f37\u0f3f\u0f4b"+
58992 "\u0f4e\u0f51\u0f60\u0f63\u0f66\u0f6a\u0f6e\u0f78\u0f7b\u0f7e\u0f89\u0f8e"+
58993 "\u0f94\u0f98\u0f9b\u0fa6\u0fa9\u0fae\u0fb0\u0fbc\u0fbf\u0fc6\u0fc9\u0fcd"+
58994 "\u0fd1\u0fd4\u0fd7\u0fdb\u0fe6\u0fe9\u0ff0\u0ff3\u0ff7\u0ffe\u1003\u100e"+
58995 "\u1013\u1015\u1022\u102d\u1035\u1038\u103c\u1042\u104c\u1056\u105b\u1067"+
58996 "\u106d\u1070\u1073\u1076\u1079\u107c\u107f\u1083\u1088\u108f\u1096\u10a3"+
58997 "\u10af\u10b5\u10be\u10c1\u10c5\u10c9\u10d2\u10d7\u10e0\u10e2\u10e7\u10e9"+
58998 "\u10f0\u10fb\u1104\u110b\u110d\u1116\u111b\u1122\u1129\u113b\u1140\u1144"+
58999 "\u115f\u1162\u116b\u1184\u1187\u1189\u118e\u1196\u11ab\u11ad\u11b6\u11b9"+
59000 "\u11c8\u11cd\u11d6\u11ea\u11ed\u11f1\u11fd\u11ff\u120c\u120e\u1218\u1245"+
59001 "\u124b\u1254\u1263\u1267\u1270\u1276\u1280\u1289\u1294\u12a0\u12a2\u12aa"+
59002 "\u12b8\u12c0\u12c5\u12c7\u12d0\u12d6\u12eb\u12f2\u12fa\u12ff\u1301\u132a"+
59003 "\u132f\u133e\u1346\u135d\u1366\u136e\u1379\u137e\u1386\u1391\u139c\u13a5"+
59004 "\u13ac\u13b0\u13b6\u13cb\u13d9\u13dc\u13e7\u13ec\u13ef\u13f3\u13f6\u13fa"+
59005 "\u13fd\u1400\u1406\u1409\u140c\u1412\u1415\u141d\u1421\u1424\u1429\u142e"+
59006 "\u1434\u143f\u1442\u1445\u1449\u144d\u1451\u1454\u1457\u145b\u145f\u1469"+
59007 "\u146d\u1475\u147d\u1481\u1484\u1488\u148c\u148f\u1492\u1495\u149b\u149e"+
59008 "\u14a2\u14a5\u14a8\u14b3\u14b7\u14bc\u14c0\u14c8\u14cc\u14d1\u14d5\u14d9"+
59009 "\u14dd\u14e1\u14e4\u14e6\u14e9\u14ec\u14ef\u14f2\u14f5\u14fc\u14fe\u1504"+
59010 "\u150c\u1510\u1514\u1517\u151a\u151c\u1520\u1524\u1527\u152b\u1535\u1538"+
59011 "\u153a\u153e\u1550\u1557\u155c\u155f\u1563\u1567\u156b\u156e\u1574\u1577"+
59012 "\u157a\u1580\u1583\u1587\u158c\u1592\u1594\u159a\u15a6\u15bb\u15c8\u15cd"+
59013 "\u15d5\u15da\u15dc\u15e0\u15e5\u15e9\u15ee\u15f1\u15f7\u15fa\u1629\u162b"+
59014 "\u1641\u1648\u1680\u1686\u168e\u1691\u169b\u169d\u169f\u16a4\u16a6\u16a8"+
59015 "\u16ae\u16b0\u16b7\u16bd\u16bf\u16c1\u16c3\u16c8\u16cc\u16d4\u16d6\u16e0"+
59016 "\u16e2\u16e6\u16ea\u16ec\u16f1\u16f3\u16f6\u16ff\u1709\u1715\u171a\u1722"+
59017 "\u1728\u172c\u1731\u1739\u173f\u1743\u1748\u174c\u1753\u175c\u1763\u176a"+
59018 "\u1772\u1776\u177b\u1783\u1787\u178b\u1790\u1798\u179c\u17a1\u17a6\u17ae"+
59019 "\u17b2\u17b6\u17bb\u17c3\u17c7\u17cf\u17e4\u17f6\u1801\u1816\u1830\u1845"+
59020 "\u1849\u184e\u1857\u1859\u186b\u187f\u188a\u189d\u18a1\u18a9\u18ad\u18b8"+
59021 "\u18d4\u18da\u18f7\u18fe\u1902\u1907\u1911\u191c\u1926\u192f\u1945\u1952"+
59022 "\u1959\u1965\u1972\u197f\u198a\u1996\u199c\u19a2\u19a8\u19b4\u19c1\u19ce"+
59023 "\u19da\u19e0\u19e6\u19ed\u19f1\u19fe\u1a0b\u1a14\u1a1e\u1a4e\u1a58\u1a5a"+
59024 "\u1a66\u1a6c\u1a74\u1a77\u1a80\u1a83\u1a90\u1a93\u1a9a\u1aa0\u1aa7\u1aaf"+
59025 "\u1ab2\u1abd\u1ac0\u1ac9\u1ad2\u1ada\u1adc\u1ae5\u1aea\u1aec\u1af2\u1afd"+
59026 "\u1b00\u1b02\u1b0a\u1b10\u1b1a\u1b25\u1b2a\u1b37\u1b3d\u1b46\u1b51\u1b57"+
59027 "\u1b5c\u1b5e\u1b65\u1b6a\u1b7b\u1b85\u1b8b\u1b93\u1b96\u1b9e\u1ba1\u1bb5"+
59028 "\u1bc2\u1bc5\u1bcc\u1bd4\u1bdf\u1be2\u1beb\u1bf0\u1bf8\u1c07\u1c13\u1c19"+
59029 "\u1c1f\u1c27\u1c2a\u1c32\u1c42\u1c46\u1c50\u1c57\u1c59\u1c6f\u1c79\u1c80";
59030 public static final String _serializedATN = Utils.join(
59031 new String[] {
59032 _serializedATNSegment0,
59033 _serializedATNSegment1,
59034 _serializedATNSegment2,
59035 _serializedATNSegment3
59036 },
59037 ""
59038 );
59039 public static final ATN _ATN =
59040 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
59041 static {
59042 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
59043 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
59044 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
59045 }
59046 }
59047 }